gt:     		return getStatus() != null;
context: package org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.interaction;
  
  import fr.inria.diverse.melange.adapters.EObjectAdapter;
  import java.util.Collection;
  import org.eclipse.emf.common.util.EList;
  import org.eclipse.emf.ecore.EClass;
  import org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.FunctionScenarioMTAdaptersFactory;
  import org.polarsys.capella.core.data.interaction.RefinementLink;
  
  @SuppressWarnings("all")
  public class RefinementLinkAdapter extends EObjectAdapter<RefinementLink> implements org.gemoc.scenario.xdsml.functionscenariomt.interaction.RefinementLink {
    private FunctionScenarioMTAdaptersFactory adaptersFactory;
    
    public RefinementLinkAdapter() {
      super(org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.FunctionScenarioMTAdaptersFactory.getInstance());
      adaptersFactory = org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.FunctionScenarioMTAdaptersFactory.getInstance();
    }
    
    @Override
    public String getId() {
      return adaptee.getId();
    }
    
    @Override
    public void setId(final String o) {
      adaptee.setId(o);
    }
    
    @Override
    public String getSid() {
      return adaptee.getSid();
    }
    
    @Override
    public void setSid(final String o) {
      adaptee.setSid(o);
    }
    
    @Override
    public boolean isVisibleInDoc() {
      return adaptee.isVisibleInDoc();
    }
    
    @Override
    public void setVisibleInDoc(final boolean o) {
      adaptee.setVisibleInDoc(o);
    }
    
    @Override
    public boolean isVisibleInLM() {
      return adaptee.isVisibleInLM();
    }
    
    @Override
    public void setVisibleInLM(final boolean o) {
      adaptee.setVisibleInLM(o);
    }
    
    @Override
    public String getSummary() {
      return adaptee.getSummary();
    }
    
    @Override
    public void setSummary(final String o) {
      adaptee.setSummary(o);
    }
    
    @Override
    public String getDescription() {
      return adaptee.getDescription();
    }
    
    @Override
    public void setDescription(final String o) {
      adaptee.setDescription(o);
    }
    
    @Override
    public String getReview() {
      return adaptee.getReview();
    }
    
    @Override
    public void setReview(final String o) {
      adaptee.setReview(o);
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.emde.ElementExtension> */Object ownedExtensions_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.emde.ElementExtension> */Object getOwnedExtensions() {
      if (ownedExtensions_ == null)
      	ownedExtensions_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOwnedExtensions(), adaptersFactory, eResource);
      return ownedExtensions_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractConstraint> */Object constraints_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractConstraint> */Object getConstraints() {
      if (constraints_ == null)
      	constraints_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getConstraints(), adaptersFactory, eResource);
      return constraints_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractConstraint> */Object ownedConstraints_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractConstraint> */Object getOwnedConstraints() {
      if (ownedConstraints_ == null)
      	ownedConstraints_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOwnedConstraints(), adaptersFactory, eResource);
      return ownedConstraints_;
    }
    
    @Override
    public org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractInformationFlow getRealizedFlow() {
      return () adaptersFactory.createAdapter(adaptee.getRealizedFlow(), eResource);
    }
    
    @Override
    public void setRealizedFlow(final org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractInformationFlow o) {
      if (o != null)
      	adaptee.setRealizedFlow(((org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.modellingcore.AbstractInformationFlowAdapter) o).getAdaptee());
      else adaptee.setRealizedFlow(null);
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractTrace> */Object incomingTraces_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractTrace> */Object getIncomingTraces() {
      if (incomingTraces_ == null)
      	incomingTraces_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getIncomingTraces(), adaptersFactory, eResource);
      return incomingTraces_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractTrace> */Object outgoingTraces_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.AbstractTrace> */Object getOutgoingTraces() {
      if (outgoingTraces_ == null)
      	outgoingTraces_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOutgoingTraces(), adaptersFactory, eResource);
      return outgoingTraces_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.AbstractPropertyValue> */Object ownedPropertyValues_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.AbstractPropertyValue> */Object getOwnedPropertyValues() {
      if (ownedPropertyValues_ == null)
      	ownedPropertyValues_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOwnedPropertyValues(), adaptersFactory, eResource);
      return ownedPropertyValues_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyType> */Object ownedEnumerationPropertyTypes_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyType> */Object getOwnedEnumerationPropertyTypes() {
      if (ownedEnumerationPropertyTypes_ == null)
      	ownedEnumerationPropertyTypes_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOwnedEnumerationPropertyTypes(), adaptersFactory, eResource);
      return ownedEnumerationPropertyTypes_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.AbstractPropertyValue> */Object appliedPropertyValues_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.AbstractPropertyValue> */Object getAppliedPropertyValues() {
      if (appliedPropertyValues_ == null)
      	appliedPropertyValues_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getAppliedPropertyValues(), adaptersFactory, eResource);
      return appliedPropertyValues_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.PropertyValueGroup> */Object ownedPropertyValueGroups_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.PropertyValueGroup> */Object getOwnedPropertyValueGroups() {
      if (ownedPropertyValueGroups_ == null)
      	ownedPropertyValueGroups_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOwnedPropertyValueGroups(), adaptersFactory, eResource);
      return ownedPropertyValueGroups_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.PropertyValueGroup> */Object appliedPropertyValueGroups_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.PropertyValueGroup> */Object getAppliedPropertyValueGroups() {
      if (appliedPropertyValueGroups_ == null)
      	appliedPropertyValueGroups_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getAppliedPropertyValueGroups(), adaptersFactory, eResource);
      return appliedPropertyValueGroups_;
    }
    
    @Override
    public org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyLiteral getStatus() {
      return () adaptersFactory.createAdapter(adaptee.getStatus(), eResource);
    }
    
    @Override
    public void setStatus(final org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyLiteral o) {
      if (o != null)
      	adaptee.setStatus(((org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.capellacore.EnumerationPropertyLiteralAdapter) o).getAdaptee());
      else adaptee.setStatus(null);
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyLiteral> */Object features_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.capellacore.EnumerationPropertyLiteral> */Object getFeatures() {
      if (features_ == null)
      	features_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getFeatures(), adaptersFactory, eResource);
      return features_;
    }
    
    private /* EList<org.gemoc.scenario.xdsml.functionscenariomt.requirement.Requirement> */Object appliedRequirements_;
    
    @Override
    public /* EList<org.gemoc.scenario.xdsml.functionscenariomt.requirement.Requirement> */Object getAppliedRequirements() {
      if (appliedRequirements_ == null)
      	appliedRequirements_ = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getAppliedRequirements(), adaptersFactory, eResource);
      return appliedRequirements_;
    }
    
    @Override
    public org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.TraceableElement getTargetElement() {
      return () adaptersFactory.createAdapter(adaptee.getTargetElement(), eResource);
    }
    
    @Override
    public void setTargetElement(final org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.TraceableElement o) {
      if (o != null)
      	adaptee.setTargetElement(((org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.modellingcore.TraceableElementAdapter) o).getAdaptee());
      else adaptee.setTargetElement(null);
    }
    
    @Override
    public org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.TraceableElement getSourceElement() {
      return () adaptersFactory.createAdapter(adaptee.getSourceElement(), eResource);
    }
    
    @Override
    public void setSourceElement(final org.gemoc.scenario.xdsml.functionscenariomt.modellingcore.TraceableElement o) {
      if (o != null)
      	adaptee.setSourceElement(((org.gemoc.scenario.xdsml.functionscenario.adapters.functionscenariomt.modellingcore.TraceableElementAdapter) o).getAdaptee());
      else adaptee.setSourceElement(null);
    }
    
    @Override
    public void destroy() {
      adaptee.destroy();
    }
    
    @Override
    public String getFullLabel() {
      return adaptee.getFullLabel();
    }
    
    @Override
    public String getLabel() {
      return adaptee.getLabel();
    }
    
    @Override
    public boolean hasUnnamedLabel() {
      return adaptee.hasUnnamedLabel();
    }
    
    protected final static String ID_EDEFAULT = null;
    
    protected final static String SID_EDEFAULT = null;
    
    protected final static boolean VISIBLE_IN_DOC_EDEFAULT = true;
    
    protected final static boolean VISIBLE_IN_LM_EDEFAULT = true;
    
    protected final static String SUMMARY_EDEFAULT = null;
    
    protected final static String DESCRIPTION_EDEFAULT = null;
    
    protected final static String REVIEW_EDEFAULT = null;
    
    @Override
    public EClass eClass() {
      return org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.eINSTANCE.getRefinementLink();
    }
    
    @Override
    public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
      switch (featureID) {
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_EXTENSIONS:
      		return getOwnedExtensions();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__ID:
      		return getId();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__SID:
      		return getSid();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__CONSTRAINTS:
      		return getConstraints();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_CONSTRAINTS:
      		return getOwnedConstraints();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__REALIZED_FLOW:
      		return getRealizedFlow();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__INCOMING_TRACES:
      		return getIncomingTraces();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OUTGOING_TRACES:
      		return getOutgoingTraces();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__VISIBLE_IN_DOC:
      		return isVisibleInDoc() ? Boolean.TRUE : Boolean.FALSE;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__VISIBLE_IN_LM:
      		return isVisibleInLM() ? Boolean.TRUE : Boolean.FALSE;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__SUMMARY:
      		return getSummary();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__DESCRIPTION:
      		return getDescription();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__REVIEW:
      		return getReview();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_PROPERTY_VALUES:
      		return getOwnedPropertyValues();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_ENUMERATION_PROPERTY_TYPES:
      		return getOwnedEnumerationPropertyTypes();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__APPLIED_PROPERTY_VALUES:
      		return getAppliedPropertyValues();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_PROPERTY_VALUE_GROUPS:
      		return getOwnedPropertyValueGroups();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__APPLIED_PROPERTY_VALUE_GROUPS:
      		return getAppliedPropertyValueGroups();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__STATUS:
      		return getStatus();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__FEATURES:
      		return getFeatures();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__APPLIED_REQUIREMENTS:
      		return getAppliedRequirements();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__TARGET_ELEMENT:
      		return getTargetElement();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__SOURCE_ELEMENT:
      		return getSourceElement();
      }
      
      return super.eGet(featureID, resolve, coreType);
    }
    
    @Override
    public boolean eIsSet(final int featureID) {
      switch (featureID) {
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_EXTENSIONS:
      		return getOwnedExtensions() != null && !getOwnedExtensions().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__ID:
      		return getId() != ID_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__SID:
      		return getSid() != SID_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__CONSTRAINTS:
      		return getConstraints() != null && !getConstraints().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_CONSTRAINTS:
      		return getOwnedConstraints() != null && !getOwnedConstraints().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__REALIZED_FLOW:
      		return getRealizedFlow() != null;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__INCOMING_TRACES:
      		return getIncomingTraces() != null && !getIncomingTraces().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OUTGOING_TRACES:
      		return getOutgoingTraces() != null && !getOutgoingTraces().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__VISIBLE_IN_DOC:
      		return isVisibleInDoc() != VISIBLE_IN_DOC_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__VISIBLE_IN_LM:
      		return isVisibleInLM() != VISIBLE_IN_LM_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__SUMMARY:
      		return getSummary() != SUMMARY_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__DESCRIPTION:
      		return getDescription() != DESCRIPTION_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__REVIEW:
      		return getReview() != REVIEW_EDEFAULT;
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_PROPERTY_VALUES:
      		return getOwnedPropertyValues() != null && !getOwnedPropertyValues().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_ENUMERATION_PROPERTY_TYPES:
      		return getOwnedEnumerationPropertyTypes() != null && !getOwnedEnumerationPropertyTypes().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__APPLIED_PROPERTY_VALUES:
      		return getAppliedPropertyValues() != null && !getAppliedPropertyValues().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__OWNED_PROPERTY_VALUE_GROUPS:
      		return getOwnedPropertyValueGroups() != null && !getOwnedPropertyValueGroups().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__APPLIED_PROPERTY_VALUE_GROUPS:
      		return getAppliedPropertyValueGroups() != null && !getAppliedPropertyValueGroups().isEmpty();
      	case org.gemoc.scenario.xdsml.functionscenariomt.interaction.InteractionPackage.REFINEMENT_LINK__STATUS:
  