resolveIfRequired(targetAdapter);
final Object argumentObj = underlying(args[0]);
final ObjectAdapter argumentNO = argumentObj != null ? getAdapterManager().adapterFor(argumentObj) : null;
final InteractionResult interactionResult = otoa.isAssociationValid(targetAdapter, argumentNO).getInteractionResult();
notifyListenersAndVetoIfRequired(interactionResult);
if (getExecutionMode() == ExecutionMode.EXECUTE) {
if (argumentNO != null) {
otoa.setAssociation(targetAdapter, argumentNO); // need to wrap