public Action getFromAction() {
if (fromAction != null && fromAction.eIsProxy()) {
InternalEObject oldFromAction = (InternalEObject) fromAction;
fromAction = (Action) eResolveProxy(oldFromAction);
if (fromAction != oldFromAction) {
InternalEObject newFromAction = (InternalEObject) fromAction;
NotificationChain msgs = oldFromAction.eInverseRemove(this,
EOPPOSITE_FEATURE_BASE
- UMLPackage.ACTION_INPUT_PIN__FROM_ACTION, null, null);
if (newFromAction.eInternalContainer() == null) {
msgs = newFromAction.eInverseAdd(this,
EOPPOSITE_FEATURE_BASE
- UMLPackage.ACTION_INPUT_PIN__FROM_ACTION, null,
msgs);
}
if (msgs != null)
msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE,
UMLPackage.ACTION_INPUT_PIN__FROM_ACTION,
oldFromAction, fromAction));
}
}
return fromAction;
}