Webdriver wait doesn't wait when using getChildByText uiAutomator

Hi, I am using the following WebDriverWait:

    WebDriverWait wait=new WebDriverWait(driver, 60));
    wait.until(ExpectedConditions.elementToBeVisible(element));

When I use the selector shown below, it doesn’t wait for 60 seconds if the element isn’t there, it fails straight away:

@AndroidFindBy(uiAutomator = "new UiScrollable(new UiSelector().className(\"android.widget.ScrollView\")).getChildByText(" + "new UiSelector().resourceId(\"com.abc.verify.abctestapp:id/formElementValue\"), \"Country\")")
private MobileElement country ;

I get the following error in Appium:

io.appium.uiautomator2.common.exceptions.UiSelectorSyntaxException: Could not parse UiSelector argument: problem using reflection to call this method

Other selectors work ok but not the one where it is uses getChildByText (when the text doesn’t exist as the element hasn’t appeared yet).

Is there a way around this?

Note: There are lots of elements that have the same resource id which is why I have had to use getChildByText.