ErrorModelItemProviderAdapterFactory.java

/**
 * Copyright (c) 2004-2025 Carnegie Mellon University and others. (see Contributors file). 
 * All Rights Reserved.
 * 
 * NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
 * KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
 * OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
 * MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
 * 
 * This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
 * 
 * This program includes and/or can make use of certain third party source code, object code, documentation and other
 * files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
 * configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
 * conditions contained in any such Third Party Software or separate license file distributed with such Third Party
 * Software. The parties who own the Third Party Software ("Third Party Licensors") are intended third party benefici-
 * aries to this license with respect to the terms applicable to their Third Party Software. Third Party Software li-
 * censes only apply to the Third Party Software and not any other portion of this program or this program as a whole.
 */
package org.osate.xtext.aadl2.errormodel.errorModel.provider;

import java.util.ArrayList;
import java.util.Collection;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;

import org.osate.xtext.aadl2.errormodel.errorModel.util.ErrorModelAdapterFactory;

/**
 * This is the factory that is used to provide the interfaces needed to support Viewers.
 * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
 * The adapters also support Eclipse property sheets.
 * Note that most of the adapters are shared among multiple instances.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public class ErrorModelItemProviderAdapterFactory extends ErrorModelAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable
{
  /**
   * This keeps track of the root adapter factory that delegates to this adapter factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ComposedAdapterFactory parentAdapterFactory;

  /**
   * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected IChangeNotifier changeNotifier = new ChangeNotifier();

  /**
   * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected Collection<Object> supportedTypes = new ArrayList<Object>();

  /**
   * This constructs an instance.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ErrorModelItemProviderAdapterFactory()
  {
    supportedTypes.add(IEditingDomainItemProvider.class);
    supportedTypes.add(IStructuredItemContentProvider.class);
    supportedTypes.add(ITreeItemContentProvider.class);
    supportedTypes.add(IItemLabelProvider.class);
    supportedTypes.add(IItemPropertySource.class);
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorModelSubclause} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorModelSubclauseItemProvider errorModelSubclauseItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorModelSubclause}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorModelSubclauseAdapter()
  {
    if (errorModelSubclauseItemProvider == null)
    {
      errorModelSubclauseItemProvider = new ErrorModelSubclauseItemProvider(this);
    }

    return errorModelSubclauseItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorModelLibrary} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorModelLibraryItemProvider errorModelLibraryItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorModelLibrary}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorModelLibraryAdapter()
  {
    if (errorModelLibraryItemProvider == null)
    {
      errorModelLibraryItemProvider = new ErrorModelLibraryItemProvider(this);
    }

    return errorModelLibraryItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2PropertyAssociation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected EMV2PropertyAssociationItemProvider emv2PropertyAssociationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2PropertyAssociation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createEMV2PropertyAssociationAdapter()
  {
    if (emv2PropertyAssociationItemProvider == null)
    {
      emv2PropertyAssociationItemProvider = new EMV2PropertyAssociationItemProvider(this);
    }

    return emv2PropertyAssociationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2Path} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected EMV2PathItemProvider emv2PathItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2Path}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createEMV2PathAdapter()
  {
    if (emv2PathItemProvider == null)
    {
      emv2PathItemProvider = new EMV2PathItemProvider(this);
    }

    return emv2PathItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2PathElement} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected EMV2PathElementItemProvider emv2PathElementItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2PathElement}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createEMV2PathElementAdapter()
  {
    if (emv2PathElementItemProvider == null)
    {
      emv2PathElementItemProvider = new EMV2PathElementItemProvider(this);
    }

    return emv2PathElementItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorTypes} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorTypesItemProvider errorTypesItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorTypes}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorTypesAdapter()
  {
    if (errorTypesItemProvider == null)
    {
      errorTypesItemProvider = new ErrorTypesItemProvider(this);
    }

    return errorTypesItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorType} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorTypeItemProvider errorTypeItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorType}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorTypeAdapter()
  {
    if (errorTypeItemProvider == null)
    {
      errorTypeItemProvider = new ErrorTypeItemProvider(this);
    }

    return errorTypeItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeSet} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeSetItemProvider typeSetItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeSet}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeSetAdapter()
  {
    if (typeSetItemProvider == null)
    {
      typeSetItemProvider = new TypeSetItemProvider(this);
    }

    return typeSetItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeToken} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeTokenItemProvider typeTokenItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeToken}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeTokenAdapter()
  {
    if (typeTokenItemProvider == null)
    {
      typeTokenItemProvider = new TypeTokenItemProvider(this);
    }

    return typeTokenItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeTransformationSet} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeTransformationSetItemProvider typeTransformationSetItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeTransformationSet}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeTransformationSetAdapter()
  {
    if (typeTransformationSetItemProvider == null)
    {
      typeTransformationSetItemProvider = new TypeTransformationSetItemProvider(this);
    }

    return typeTransformationSetItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeTransformation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeTransformationItemProvider typeTransformationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeTransformation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeTransformationAdapter()
  {
    if (typeTransformationItemProvider == null)
    {
      typeTransformationItemProvider = new TypeTransformationItemProvider(this);
    }

    return typeTransformationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeMappingSet} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeMappingSetItemProvider typeMappingSetItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeMappingSet}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeMappingSetAdapter()
  {
    if (typeMappingSetItemProvider == null)
    {
      typeMappingSetItemProvider = new TypeMappingSetItemProvider(this);
    }

    return typeMappingSetItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeMapping} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TypeMappingItemProvider typeMappingItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TypeMapping}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTypeMappingAdapter()
  {
    if (typeMappingItemProvider == null)
    {
      typeMappingItemProvider = new TypeMappingItemProvider(this);
    }

    return typeMappingItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorPropagation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorPropagationItemProvider errorPropagationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorPropagation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorPropagationAdapter()
  {
    if (errorPropagationItemProvider == null)
    {
      errorPropagationItemProvider = new ErrorPropagationItemProvider(this);
    }

    return errorPropagationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.FeatureorPPReference} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected FeatureorPPReferenceItemProvider featureorPPReferenceItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.FeatureorPPReference}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createFeatureorPPReferenceAdapter()
  {
    if (featureorPPReferenceItemProvider == null)
    {
      featureorPPReferenceItemProvider = new FeatureorPPReferenceItemProvider(this);
    }

    return featureorPPReferenceItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorFlow} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorFlowItemProvider errorFlowItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorFlow}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorFlowAdapter()
  {
    if (errorFlowItemProvider == null)
    {
      errorFlowItemProvider = new ErrorFlowItemProvider(this);
    }

    return errorFlowItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorSource} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorSourceItemProvider errorSourceItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorSource}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorSourceAdapter()
  {
    if (errorSourceItemProvider == null)
    {
      errorSourceItemProvider = new ErrorSourceItemProvider(this);
    }

    return errorSourceItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorSink} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorSinkItemProvider errorSinkItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorSink}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorSinkAdapter()
  {
    if (errorSinkItemProvider == null)
    {
      errorSinkItemProvider = new ErrorSinkItemProvider(this);
    }

    return errorSinkItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorPath} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorPathItemProvider errorPathItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorPath}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorPathAdapter()
  {
    if (errorPathItemProvider == null)
    {
      errorPathItemProvider = new ErrorPathItemProvider(this);
    }

    return errorPathItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.IfCondition} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected IfConditionItemProvider ifConditionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.IfCondition}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createIfConditionAdapter()
  {
    if (ifConditionItemProvider == null)
    {
      ifConditionItemProvider = new IfConditionItemProvider(this);
    }

    return ifConditionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.PropagationPoint} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected PropagationPointItemProvider propagationPointItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.PropagationPoint}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createPropagationPointAdapter()
  {
    if (propagationPointItemProvider == null)
    {
      propagationPointItemProvider = new PropagationPointItemProvider(this);
    }

    return propagationPointItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.PropagationPath} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected PropagationPathItemProvider propagationPathItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.PropagationPath}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createPropagationPathAdapter()
  {
    if (propagationPathItemProvider == null)
    {
      propagationPathItemProvider = new PropagationPathItemProvider(this);
    }

    return propagationPathItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedPropagationPoint} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected QualifiedPropagationPointItemProvider qualifiedPropagationPointItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedPropagationPoint}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createQualifiedPropagationPointAdapter()
  {
    if (qualifiedPropagationPointItemProvider == null)
    {
      qualifiedPropagationPointItemProvider = new QualifiedPropagationPointItemProvider(this);
    }

    return qualifiedPropagationPointItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorStateMachine} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorBehaviorStateMachineItemProvider errorBehaviorStateMachineItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorStateMachine}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorBehaviorStateMachineAdapter()
  {
    if (errorBehaviorStateMachineItemProvider == null)
    {
      errorBehaviorStateMachineItemProvider = new ErrorBehaviorStateMachineItemProvider(this);
    }

    return errorBehaviorStateMachineItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorEvent} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorBehaviorEventItemProvider errorBehaviorEventItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorEvent}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorBehaviorEventAdapter()
  {
    if (errorBehaviorEventItemProvider == null)
    {
      errorBehaviorEventItemProvider = new ErrorBehaviorEventItemProvider(this);
    }

    return errorBehaviorEventItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorEvent} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorEventItemProvider errorEventItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorEvent}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorEventAdapter()
  {
    if (errorEventItemProvider == null)
    {
      errorEventItemProvider = new ErrorEventItemProvider(this);
    }

    return errorEventItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.RepairEvent} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected RepairEventItemProvider repairEventItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.RepairEvent}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createRepairEventAdapter()
  {
    if (repairEventItemProvider == null)
    {
      repairEventItemProvider = new RepairEventItemProvider(this);
    }

    return repairEventItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.RecoverEvent} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected RecoverEventItemProvider recoverEventItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.RecoverEvent}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createRecoverEventAdapter()
  {
    if (recoverEventItemProvider == null)
    {
      recoverEventItemProvider = new RecoverEventItemProvider(this);
    }

    return recoverEventItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorState} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorBehaviorStateItemProvider errorBehaviorStateItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorState}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorBehaviorStateAdapter()
  {
    if (errorBehaviorStateItemProvider == null)
    {
      errorBehaviorStateItemProvider = new ErrorBehaviorStateItemProvider(this);
    }

    return errorBehaviorStateItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorTransition} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorBehaviorTransitionItemProvider errorBehaviorTransitionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorBehaviorTransition}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorBehaviorTransitionAdapter()
  {
    if (errorBehaviorTransitionItemProvider == null)
    {
      errorBehaviorTransitionItemProvider = new ErrorBehaviorTransitionItemProvider(this);
    }

    return errorBehaviorTransitionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.TransitionBranch} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected TransitionBranchItemProvider transitionBranchItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.TransitionBranch}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createTransitionBranchAdapter()
  {
    if (transitionBranchItemProvider == null)
    {
      transitionBranchItemProvider = new TransitionBranchItemProvider(this);
    }

    return transitionBranchItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.BranchValue} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected BranchValueItemProvider branchValueItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.BranchValue}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createBranchValueAdapter()
  {
    if (branchValueItemProvider == null)
    {
      branchValueItemProvider = new BranchValueItemProvider(this);
    }

    return branchValueItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ConditionExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ConditionExpressionItemProvider conditionExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ConditionExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createConditionExpressionAdapter()
  {
    if (conditionExpressionItemProvider == null)
    {
      conditionExpressionItemProvider = new ConditionExpressionItemProvider(this);
    }

    return conditionExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.OrmoreExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected OrmoreExpressionItemProvider ormoreExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.OrmoreExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createOrmoreExpressionAdapter()
  {
    if (ormoreExpressionItemProvider == null)
    {
      ormoreExpressionItemProvider = new OrmoreExpressionItemProvider(this);
    }

    return ormoreExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.OrlessExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected OrlessExpressionItemProvider orlessExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.OrlessExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createOrlessExpressionAdapter()
  {
    if (orlessExpressionItemProvider == null)
    {
      orlessExpressionItemProvider = new OrlessExpressionItemProvider(this);
    }

    return orlessExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ConditionElement} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ConditionElementItemProvider conditionElementItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ConditionElement}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createConditionElementAdapter()
  {
    if (conditionElementItemProvider == null)
    {
      conditionElementItemProvider = new ConditionElementItemProvider(this);
    }

    return conditionElementItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.EventOrPropagation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected EventOrPropagationItemProvider eventOrPropagationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.EventOrPropagation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createEventOrPropagationAdapter()
  {
    if (eventOrPropagationItemProvider == null)
    {
      eventOrPropagationItemProvider = new EventOrPropagationItemProvider(this);
    }

    return eventOrPropagationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.OutgoingPropagationCondition} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected OutgoingPropagationConditionItemProvider outgoingPropagationConditionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.OutgoingPropagationCondition}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createOutgoingPropagationConditionAdapter()
  {
    if (outgoingPropagationConditionItemProvider == null)
    {
      outgoingPropagationConditionItemProvider = new OutgoingPropagationConditionItemProvider(this);
    }

    return outgoingPropagationConditionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorDetection} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorDetectionItemProvider errorDetectionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorDetection}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorDetectionAdapter()
  {
    if (errorDetectionItemProvider == null)
    {
      errorDetectionItemProvider = new ErrorDetectionItemProvider(this);
    }

    return errorDetectionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ReportingPortReference} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ReportingPortReferenceItemProvider reportingPortReferenceItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ReportingPortReference}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createReportingPortReferenceAdapter()
  {
    if (reportingPortReferenceItemProvider == null)
    {
      reportingPortReferenceItemProvider = new ReportingPortReferenceItemProvider(this);
    }

    return reportingPortReferenceItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorCodeValue} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorCodeValueItemProvider errorCodeValueItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorCodeValue}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorCodeValueAdapter()
  {
    if (errorCodeValueItemProvider == null)
    {
      errorCodeValueItemProvider = new ErrorCodeValueItemProvider(this);
    }

    return errorCodeValueItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorStateToModeMapping} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected ErrorStateToModeMappingItemProvider errorStateToModeMappingItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.ErrorStateToModeMapping}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createErrorStateToModeMappingAdapter()
  {
    if (errorStateToModeMappingItemProvider == null)
    {
      errorStateToModeMappingItemProvider = new ErrorStateToModeMappingItemProvider(this);
    }

    return errorStateToModeMappingItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.CompositeState} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected CompositeStateItemProvider compositeStateItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.CompositeState}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createCompositeStateAdapter()
  {
    if (compositeStateItemProvider == null)
    {
      compositeStateItemProvider = new CompositeStateItemProvider(this);
    }

    return compositeStateItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorBehaviorState} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected QualifiedErrorBehaviorStateItemProvider qualifiedErrorBehaviorStateItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorBehaviorState}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createQualifiedErrorBehaviorStateAdapter()
  {
    if (qualifiedErrorBehaviorStateItemProvider == null)
    {
      qualifiedErrorBehaviorStateItemProvider = new QualifiedErrorBehaviorStateItemProvider(this);
    }

    return qualifiedErrorBehaviorStateItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.SubcomponentElement} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected SubcomponentElementItemProvider subcomponentElementItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.SubcomponentElement}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createSubcomponentElementAdapter()
  {
    if (subcomponentElementItemProvider == null)
    {
      subcomponentElementItemProvider = new SubcomponentElementItemProvider(this);
    }

    return subcomponentElementItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2Root} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected EMV2RootItemProvider emv2RootItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.EMV2Root}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createEMV2RootAdapter()
  {
    if (emv2RootItemProvider == null)
    {
      emv2RootItemProvider = new EMV2RootItemProvider(this);
    }

    return emv2RootItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.OrExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected OrExpressionItemProvider orExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.OrExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createOrExpressionAdapter()
  {
    if (orExpressionItemProvider == null)
    {
      orExpressionItemProvider = new OrExpressionItemProvider(this);
    }

    return orExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.AndExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected AndExpressionItemProvider andExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.AndExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createAndExpressionAdapter()
  {
    if (andExpressionItemProvider == null)
    {
      andExpressionItemProvider = new AndExpressionItemProvider(this);
    }

    return andExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.AllExpression} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected AllExpressionItemProvider allExpressionItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.AllExpression}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createAllExpressionAdapter()
  {
    if (allExpressionItemProvider == null)
    {
      allExpressionItemProvider = new AllExpressionItemProvider(this);
    }

    return allExpressionItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorEventOrPropagation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected QualifiedErrorEventOrPropagationItemProvider qualifiedErrorEventOrPropagationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorEventOrPropagation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createQualifiedErrorEventOrPropagationAdapter()
  {
    if (qualifiedErrorEventOrPropagationItemProvider == null)
    {
      qualifiedErrorEventOrPropagationItemProvider = new QualifiedErrorEventOrPropagationItemProvider(this);
    }

    return qualifiedErrorEventOrPropagationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorPropagation} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected QualifiedErrorPropagationItemProvider qualifiedErrorPropagationItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.QualifiedErrorPropagation}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createQualifiedErrorPropagationAdapter()
  {
    if (qualifiedErrorPropagationItemProvider == null)
    {
      qualifiedErrorPropagationItemProvider = new QualifiedErrorPropagationItemProvider(this);
    }

    return qualifiedErrorPropagationItemProvider;
  }

  /**
   * This keeps track of the one adapter used for all {@link org.osate.xtext.aadl2.errormodel.errorModel.SConditionElement} instances.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected SConditionElementItemProvider sConditionElementItemProvider;

  /**
   * This creates an adapter for a {@link org.osate.xtext.aadl2.errormodel.errorModel.SConditionElement}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter createSConditionElementAdapter()
  {
    if (sConditionElementItemProvider == null)
    {
      sConditionElementItemProvider = new SConditionElementItemProvider(this);
    }

    return sConditionElementItemProvider;
  }

  /**
   * This returns the root adapter factory that contains this factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public ComposeableAdapterFactory getRootAdapterFactory()
  {
    return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
  }

  /**
   * This sets the composed adapter factory that contains this factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
  {
    this.parentAdapterFactory = parentAdapterFactory;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public boolean isFactoryForType(Object type)
  {
    return supportedTypes.contains(type) || super.isFactoryForType(type);
  }

  /**
   * This implementation substitutes the factory itself as the key for the adapter.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Adapter adapt(Notifier notifier, Object type)
  {
    return super.adapt(notifier, this);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public Object adapt(Object object, Object type)
  {
    if (isFactoryForType(type))
    {
      Object adapter = super.adapt(object, type);
      if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter)))
      {
        return adapter;
      }
    }

    return null;
  }

  /**
   * This adds a listener.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void addListener(INotifyChangedListener notifyChangedListener)
  {
    changeNotifier.addListener(notifyChangedListener);
  }

  /**
   * This removes a listener.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void removeListener(INotifyChangedListener notifyChangedListener)
  {
    changeNotifier.removeListener(notifyChangedListener);
  }

  /**
   * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void fireNotifyChanged(Notification notification)
  {
    changeNotifier.fireNotifyChanged(notification);

    if (parentAdapterFactory != null)
    {
      parentAdapterFactory.fireNotifyChanged(notification);
    }
  }

  /**
   * This disposes all of the item providers created by this factory. 
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public void dispose()
  {
    if (errorModelSubclauseItemProvider != null) errorModelSubclauseItemProvider.dispose();
    if (errorModelLibraryItemProvider != null) errorModelLibraryItemProvider.dispose();
    if (emv2PropertyAssociationItemProvider != null) emv2PropertyAssociationItemProvider.dispose();
    if (emv2PathItemProvider != null) emv2PathItemProvider.dispose();
    if (emv2PathElementItemProvider != null) emv2PathElementItemProvider.dispose();
    if (errorTypesItemProvider != null) errorTypesItemProvider.dispose();
    if (errorTypeItemProvider != null) errorTypeItemProvider.dispose();
    if (typeSetItemProvider != null) typeSetItemProvider.dispose();
    if (typeTokenItemProvider != null) typeTokenItemProvider.dispose();
    if (typeTransformationSetItemProvider != null) typeTransformationSetItemProvider.dispose();
    if (typeTransformationItemProvider != null) typeTransformationItemProvider.dispose();
    if (typeMappingSetItemProvider != null) typeMappingSetItemProvider.dispose();
    if (typeMappingItemProvider != null) typeMappingItemProvider.dispose();
    if (errorPropagationItemProvider != null) errorPropagationItemProvider.dispose();
    if (featureorPPReferenceItemProvider != null) featureorPPReferenceItemProvider.dispose();
    if (errorFlowItemProvider != null) errorFlowItemProvider.dispose();
    if (errorSourceItemProvider != null) errorSourceItemProvider.dispose();
    if (errorSinkItemProvider != null) errorSinkItemProvider.dispose();
    if (errorPathItemProvider != null) errorPathItemProvider.dispose();
    if (ifConditionItemProvider != null) ifConditionItemProvider.dispose();
    if (propagationPointItemProvider != null) propagationPointItemProvider.dispose();
    if (propagationPathItemProvider != null) propagationPathItemProvider.dispose();
    if (qualifiedPropagationPointItemProvider != null) qualifiedPropagationPointItemProvider.dispose();
    if (errorBehaviorStateMachineItemProvider != null) errorBehaviorStateMachineItemProvider.dispose();
    if (errorBehaviorEventItemProvider != null) errorBehaviorEventItemProvider.dispose();
    if (errorEventItemProvider != null) errorEventItemProvider.dispose();
    if (repairEventItemProvider != null) repairEventItemProvider.dispose();
    if (recoverEventItemProvider != null) recoverEventItemProvider.dispose();
    if (errorBehaviorStateItemProvider != null) errorBehaviorStateItemProvider.dispose();
    if (errorBehaviorTransitionItemProvider != null) errorBehaviorTransitionItemProvider.dispose();
    if (transitionBranchItemProvider != null) transitionBranchItemProvider.dispose();
    if (branchValueItemProvider != null) branchValueItemProvider.dispose();
    if (conditionExpressionItemProvider != null) conditionExpressionItemProvider.dispose();
    if (ormoreExpressionItemProvider != null) ormoreExpressionItemProvider.dispose();
    if (orlessExpressionItemProvider != null) orlessExpressionItemProvider.dispose();
    if (conditionElementItemProvider != null) conditionElementItemProvider.dispose();
    if (eventOrPropagationItemProvider != null) eventOrPropagationItemProvider.dispose();
    if (outgoingPropagationConditionItemProvider != null) outgoingPropagationConditionItemProvider.dispose();
    if (errorDetectionItemProvider != null) errorDetectionItemProvider.dispose();
    if (reportingPortReferenceItemProvider != null) reportingPortReferenceItemProvider.dispose();
    if (errorCodeValueItemProvider != null) errorCodeValueItemProvider.dispose();
    if (errorStateToModeMappingItemProvider != null) errorStateToModeMappingItemProvider.dispose();
    if (compositeStateItemProvider != null) compositeStateItemProvider.dispose();
    if (qualifiedErrorBehaviorStateItemProvider != null) qualifiedErrorBehaviorStateItemProvider.dispose();
    if (subcomponentElementItemProvider != null) subcomponentElementItemProvider.dispose();
    if (emv2RootItemProvider != null) emv2RootItemProvider.dispose();
    if (orExpressionItemProvider != null) orExpressionItemProvider.dispose();
    if (andExpressionItemProvider != null) andExpressionItemProvider.dispose();
    if (allExpressionItemProvider != null) allExpressionItemProvider.dispose();
    if (qualifiedErrorEventOrPropagationItemProvider != null) qualifiedErrorEventOrPropagationItemProvider.dispose();
    if (qualifiedErrorPropagationItemProvider != null) qualifiedErrorPropagationItemProvider.dispose();
    if (sConditionElementItemProvider != null) sConditionElementItemProvider.dispose();
  }

}