Hi there,
it seems like any property edge within the "ui.oneOfChild.border" has only 1 instance that can be modified. In any case that instance would be 0 instead of 2.
If you want to modify that specific instance, such as 2, you would need to access directly the border property of the object like the following.
$.border.getElement("edge", 2).presence = "visible";
the difference between both is the following:
accessing the border/edge property of an UI is the borders that represent the field, such as the highlighted zone which the software displays for you. This border is one entity of an edge index based (0)
accessing the border/edge directly from an object is the borders that wraps the caption along with the highlighted zone. This border is separated in 4 different edges index based (0-3)
I hope this will help.