Why do you create and extension class and add event handler in it?
Extension classes should not be used for event handlers, as there is a tiny problem with them.
daxmusings.codecrib.com/.../accidental-code-extensions.html
It also gives a best practice warning.
If you need an event handler class remove final keyword and ExtensionOf attribute, and name it something like HcmPositionEventHandlers or something else.
Actually, you can access any control in Extension class just by writing a name of the control and calling the method.
It's not obvious but it works.
elandax.blogspot.com/.../can-you-ignore-auto-declaration.html
This is good if you want to hide just this particular control:
HcmPositionHierarchyLine_ParentPositionCopy1_PositionId.visible(false);
If you want to hide all controls of this field when the code DataSource.object(fieldid).visible(false) is valid.
Just don't use hardcoded strings instead, use formDataSourceStr intrinsic function.
Or use CoC, it's much easier and more readable than event handlers.