AadlBaItemProviderAdapterFactory.java

/**
 * AADL-BA-FrontEnd
 * 
 * Copyright (c) 2011-2021 TELECOM ParisTech and CNRS
 * 
 * TELECOM ParisTech/LTCI
 * 
 * Authors: see AUTHORS
 * 
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the Eclipse Public License as published by Eclipse, either
 * version 2.0 of the License, or (at your option) any later version. This
 * program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License for
 * more details. You should have received a copy of the Eclipse Public License
 * along with this program. If not, see
 * https://www.eclipse.org/legal/epl-2.0/
 */
package org.osate.ba.aadlba.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.ba.aadlba.util.AadlBaAdapterFactory;

/**
 * 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 AadlBaItemProviderAdapterFactory extends AadlBaAdapterFactory
		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 AadlBaItemProviderAdapterFactory() {
		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.ba.aadlba.AssignmentAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AssignmentActionItemProvider assignmentActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.AssignmentAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAssignmentActionAdapter() {
		if (assignmentActionItemProvider == null) {
			assignmentActionItemProvider = new AssignmentActionItemProvider(this);
		}

		return assignmentActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Any} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected AnyItemProvider anyItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Any}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createAnyAdapter() {
		if (anyItemProvider == null) {
			anyItemProvider = new AnyItemProvider(this);
		}

		return anyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BasicPropertyHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BasicPropertyHolderItemProvider basicPropertyHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BasicPropertyHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBasicPropertyHolderAdapter() {
		if (basicPropertyHolderItemProvider == null) {
			basicPropertyHolderItemProvider = new BasicPropertyHolderItemProvider(this);
		}

		return basicPropertyHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorActionBlock} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorActionBlockItemProvider behaviorActionBlockItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorActionBlock}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorActionBlockAdapter() {
		if (behaviorActionBlockItemProvider == null) {
			behaviorActionBlockItemProvider = new BehaviorActionBlockItemProvider(this);
		}

		return behaviorActionBlockItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorActionSequence} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorActionSequenceItemProvider behaviorActionSequenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorActionSequence}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorActionSequenceAdapter() {
		if (behaviorActionSequenceItemProvider == null) {
			behaviorActionSequenceItemProvider = new BehaviorActionSequenceItemProvider(this);
		}

		return behaviorActionSequenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorActionSet} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorActionSetItemProvider behaviorActionSetItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorActionSet}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorActionSetAdapter() {
		if (behaviorActionSetItemProvider == null) {
			behaviorActionSetItemProvider = new BehaviorActionSetItemProvider(this);
		}

		return behaviorActionSetItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorAnnex} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorAnnexItemProvider behaviorAnnexItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorAnnex}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorAnnexAdapter() {
		if (behaviorAnnexItemProvider == null) {
			behaviorAnnexItemProvider = new BehaviorAnnexItemProvider(this);
		}

		return behaviorAnnexItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorBooleanLiteral} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorBooleanLiteralItemProvider behaviorBooleanLiteralItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorBooleanLiteral}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorBooleanLiteralAdapter() {
		if (behaviorBooleanLiteralItemProvider == null) {
			behaviorBooleanLiteralItemProvider = new BehaviorBooleanLiteralItemProvider(this);
		}

		return behaviorBooleanLiteralItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorIntegerLiteral} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorIntegerLiteralItemProvider behaviorIntegerLiteralItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorIntegerLiteral}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorIntegerLiteralAdapter() {
		if (behaviorIntegerLiteralItemProvider == null) {
			behaviorIntegerLiteralItemProvider = new BehaviorIntegerLiteralItemProvider(this);
		}

		return behaviorIntegerLiteralItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorPropertyConstant} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorPropertyConstantItemProvider behaviorPropertyConstantItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorPropertyConstant}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorPropertyConstantAdapter() {
		if (behaviorPropertyConstantItemProvider == null) {
			behaviorPropertyConstantItemProvider = new BehaviorPropertyConstantItemProvider(this);
		}

		return behaviorPropertyConstantItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorRealLiteral} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorRealLiteralItemProvider behaviorRealLiteralItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorRealLiteral}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorRealLiteralAdapter() {
		if (behaviorRealLiteralItemProvider == null) {
			behaviorRealLiteralItemProvider = new BehaviorRealLiteralItemProvider(this);
		}

		return behaviorRealLiteralItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorState} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorStateItemProvider behaviorStateItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorState}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorStateAdapter() {
		if (behaviorStateItemProvider == null) {
			behaviorStateItemProvider = new BehaviorStateItemProvider(this);
		}

		return behaviorStateItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorStringLiteral} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorStringLiteralItemProvider behaviorStringLiteralItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorStringLiteral}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorStringLiteralAdapter() {
		if (behaviorStringLiteralItemProvider == null) {
			behaviorStringLiteralItemProvider = new BehaviorStringLiteralItemProvider(this);
		}

		return behaviorStringLiteralItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorTime} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorTimeItemProvider behaviorTimeItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorTime}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorTimeAdapter() {
		if (behaviorTimeItemProvider == null) {
			behaviorTimeItemProvider = new BehaviorTimeItemProvider(this);
		}

		return behaviorTimeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorTransition} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorTransitionItemProvider behaviorTransitionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorTransition}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorTransitionAdapter() {
		if (behaviorTransitionItemProvider == null) {
			behaviorTransitionItemProvider = new BehaviorTransitionItemProvider(this);
		}

		return behaviorTransitionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorVariable} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorVariableItemProvider behaviorVariableItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorVariable}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorVariableAdapter() {
		if (behaviorVariableItemProvider == null) {
			behaviorVariableItemProvider = new BehaviorVariableItemProvider(this);
		}

		return behaviorVariableItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.BehaviorVariableHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviorVariableHolderItemProvider behaviorVariableHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.BehaviorVariableHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createBehaviorVariableHolderAdapter() {
		if (behaviorVariableHolderItemProvider == null) {
			behaviorVariableHolderItemProvider = new BehaviorVariableHolderItemProvider(this);
		}

		return behaviorVariableHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.CalledSubprogramHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CalledSubprogramHolderItemProvider calledSubprogramHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.CalledSubprogramHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCalledSubprogramHolderAdapter() {
		if (calledSubprogramHolderItemProvider == null) {
			calledSubprogramHolderItemProvider = new CalledSubprogramHolderItemProvider(this);
		}

		return calledSubprogramHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ClassifierPropertyReference} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ClassifierPropertyReferenceItemProvider classifierPropertyReferenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ClassifierPropertyReference}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createClassifierPropertyReferenceAdapter() {
		if (classifierPropertyReferenceItemProvider == null) {
			classifierPropertyReferenceItemProvider = new ClassifierPropertyReferenceItemProvider(this);
		}

		return classifierPropertyReferenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.CompletionRelativeTimeout} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CompletionRelativeTimeoutItemProvider completionRelativeTimeoutItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.CompletionRelativeTimeout}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createCompletionRelativeTimeoutAdapter() {
		if (completionRelativeTimeoutItemProvider == null) {
			completionRelativeTimeoutItemProvider = new CompletionRelativeTimeoutItemProvider(this);
		}

		return completionRelativeTimeoutItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ClassifierFeaturePropertyReference} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ClassifierFeaturePropertyReferenceItemProvider classifierFeaturePropertyReferenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ClassifierFeaturePropertyReference}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createClassifierFeaturePropertyReferenceAdapter() {
		if (classifierFeaturePropertyReferenceItemProvider == null) {
			classifierFeaturePropertyReferenceItemProvider = new ClassifierFeaturePropertyReferenceItemProvider(this);
		}

		return classifierFeaturePropertyReferenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DataAccessHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DataAccessHolderItemProvider dataAccessHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DataAccessHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDataAccessHolderAdapter() {
		if (dataAccessHolderItemProvider == null) {
			dataAccessHolderItemProvider = new DataAccessHolderItemProvider(this);
		}

		return dataAccessHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DataAccessPrototypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DataAccessPrototypeHolderItemProvider dataAccessPrototypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DataAccessPrototypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDataAccessPrototypeHolderAdapter() {
		if (dataAccessPrototypeHolderItemProvider == null) {
			dataAccessPrototypeHolderItemProvider = new DataAccessPrototypeHolderItemProvider(this);
		}

		return dataAccessPrototypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DataComponentReference} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DataComponentReferenceItemProvider dataComponentReferenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DataComponentReference}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDataComponentReferenceAdapter() {
		if (dataComponentReferenceItemProvider == null) {
			dataComponentReferenceItemProvider = new DataComponentReferenceItemProvider(this);
		}

		return dataComponentReferenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DataPortHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DataPortHolderItemProvider dataPortHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DataPortHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDataPortHolderAdapter() {
		if (dataPortHolderItemProvider == null) {
			dataPortHolderItemProvider = new DataPortHolderItemProvider(this);
		}

		return dataPortHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DataSubcomponentHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DataSubcomponentHolderItemProvider dataSubcomponentHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DataSubcomponentHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDataSubcomponentHolderAdapter() {
		if (dataSubcomponentHolderItemProvider == null) {
			dataSubcomponentHolderItemProvider = new DataSubcomponentHolderItemProvider(this);
		}

		return dataSubcomponentHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DispatchCondition} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DispatchConditionItemProvider dispatchConditionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DispatchCondition}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDispatchConditionAdapter() {
		if (dispatchConditionItemProvider == null) {
			dispatchConditionItemProvider = new DispatchConditionItemProvider(this);
		}

		return dispatchConditionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DispatchConjunction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DispatchConjunctionItemProvider dispatchConjunctionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DispatchConjunction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDispatchConjunctionAdapter() {
		if (dispatchConjunctionItemProvider == null) {
			dispatchConjunctionItemProvider = new DispatchConjunctionItemProvider(this);
		}

		return dispatchConjunctionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DispatchRelativeTimeout} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DispatchRelativeTimeoutItemProvider dispatchRelativeTimeoutItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DispatchRelativeTimeout}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDispatchRelativeTimeoutAdapter() {
		if (dispatchRelativeTimeoutItemProvider == null) {
			dispatchRelativeTimeoutItemProvider = new DispatchRelativeTimeoutItemProvider(this);
		}

		return dispatchRelativeTimeoutItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DispatchTriggerConditionStop} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DispatchTriggerConditionStopItemProvider dispatchTriggerConditionStopItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DispatchTriggerConditionStop}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDispatchTriggerConditionStopAdapter() {
		if (dispatchTriggerConditionStopItemProvider == null) {
			dispatchTriggerConditionStopItemProvider = new DispatchTriggerConditionStopItemProvider(this);
		}

		return dispatchTriggerConditionStopItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.DispatchTriggerLogicalExpression} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected DispatchTriggerLogicalExpressionItemProvider dispatchTriggerLogicalExpressionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.DispatchTriggerLogicalExpression}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createDispatchTriggerLogicalExpressionAdapter() {
		if (dispatchTriggerLogicalExpressionItemProvider == null) {
			dispatchTriggerLogicalExpressionItemProvider = new DispatchTriggerLogicalExpressionItemProvider(this);
		}

		return dispatchTriggerLogicalExpressionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ElseStatement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ElseStatementItemProvider elseStatementItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ElseStatement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createElseStatementAdapter() {
		if (elseStatementItemProvider == null) {
			elseStatementItemProvider = new ElseStatementItemProvider(this);
		}

		return elseStatementItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.EnumLiteralHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EnumLiteralHolderItemProvider enumLiteralHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.EnumLiteralHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEnumLiteralHolderAdapter() {
		if (enumLiteralHolderItemProvider == null) {
			enumLiteralHolderItemProvider = new EnumLiteralHolderItemProvider(this);
		}

		return enumLiteralHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.EventDataPortHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EventDataPortHolderItemProvider eventDataPortHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.EventDataPortHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEventDataPortHolderAdapter() {
		if (eventDataPortHolderItemProvider == null) {
			eventDataPortHolderItemProvider = new EventDataPortHolderItemProvider(this);
		}

		return eventDataPortHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.EventPortHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EventPortHolderItemProvider eventPortHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.EventPortHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createEventPortHolderAdapter() {
		if (eventPortHolderItemProvider == null) {
			eventPortHolderItemProvider = new EventPortHolderItemProvider(this);
		}

		return eventPortHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ExecutionTimeoutCatch} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ExecutionTimeoutCatchItemProvider executionTimeoutCatchItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ExecutionTimeoutCatch}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createExecutionTimeoutCatchAdapter() {
		if (executionTimeoutCatchItemProvider == null) {
			executionTimeoutCatchItemProvider = new ExecutionTimeoutCatchItemProvider(this);
		}

		return executionTimeoutCatchItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Factor} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected FactorItemProvider factorItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Factor}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFactorAdapter() {
		if (factorItemProvider == null) {
			factorItemProvider = new FactorItemProvider(this);
		}

		return factorItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.FeatureHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected FeatureHolderItemProvider featureHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.FeatureHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFeatureHolderAdapter() {
		if (featureHolderItemProvider == null) {
			featureHolderItemProvider = new FeatureHolderItemProvider(this);
		}

		return featureHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.FeaturePrototypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected FeaturePrototypeHolderItemProvider featurePrototypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.FeaturePrototypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createFeaturePrototypeHolderAdapter() {
		if (featurePrototypeHolderItemProvider == null) {
			featurePrototypeHolderItemProvider = new FeaturePrototypeHolderItemProvider(this);
		}

		return featurePrototypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ForOrForAllStatement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ForOrForAllStatementItemProvider forOrForAllStatementItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ForOrForAllStatement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createForOrForAllStatementAdapter() {
		if (forOrForAllStatementItemProvider == null) {
			forOrForAllStatementItemProvider = new ForOrForAllStatementItemProvider(this);
		}

		return forOrForAllStatementItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.GroupHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected GroupHolderItemProvider groupHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.GroupHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createGroupHolderAdapter() {
		if (groupHolderItemProvider == null) {
			groupHolderItemProvider = new GroupHolderItemProvider(this);
		}

		return groupHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.GroupPrototypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected GroupPrototypeHolderItemProvider groupPrototypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.GroupPrototypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createGroupPrototypeHolderAdapter() {
		if (groupPrototypeHolderItemProvider == null) {
			groupPrototypeHolderItemProvider = new GroupPrototypeHolderItemProvider(this);
		}

		return groupPrototypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.IfStatement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IfStatementItemProvider ifStatementItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.IfStatement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIfStatementAdapter() {
		if (ifStatementItemProvider == null) {
			ifStatementItemProvider = new IfStatementItemProvider(this);
		}

		return ifStatementItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.IntegerRange} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IntegerRangeItemProvider integerRangeItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.IntegerRange}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIntegerRangeAdapter() {
		if (integerRangeItemProvider == null) {
			integerRangeItemProvider = new IntegerRangeItemProvider(this);
		}

		return integerRangeItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.IterativeVariable} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IterativeVariableItemProvider iterativeVariableItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.IterativeVariable}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIterativeVariableAdapter() {
		if (iterativeVariableItemProvider == null) {
			iterativeVariableItemProvider = new IterativeVariableItemProvider(this);
		}

		return iterativeVariableItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.IterativeVariableHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IterativeVariableHolderItemProvider iterativeVariableHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.IterativeVariableHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createIterativeVariableHolderAdapter() {
		if (iterativeVariableHolderItemProvider == null) {
			iterativeVariableHolderItemProvider = new IterativeVariableHolderItemProvider(this);
		}

		return iterativeVariableHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.LockAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected LockActionItemProvider lockActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.LockAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createLockActionAdapter() {
		if (lockActionItemProvider == null) {
			lockActionItemProvider = new LockActionItemProvider(this);
		}

		return lockActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.LowerBound} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected LowerBoundItemProvider lowerBoundItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.LowerBound}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createLowerBoundAdapter() {
		if (lowerBoundItemProvider == null) {
			lowerBoundItemProvider = new LowerBoundItemProvider(this);
		}

		return lowerBoundItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Otherwise} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected OtherwiseItemProvider otherwiseItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Otherwise}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createOtherwiseAdapter() {
		if (otherwiseItemProvider == null) {
			otherwiseItemProvider = new OtherwiseItemProvider(this);
		}

		return otherwiseItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ParameterHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ParameterHolderItemProvider parameterHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ParameterHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createParameterHolderAdapter() {
		if (parameterHolderItemProvider == null) {
			parameterHolderItemProvider = new ParameterHolderItemProvider(this);
		}

		return parameterHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortCountValue} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortCountValueItemProvider portCountValueItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortCountValue}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortCountValueAdapter() {
		if (portCountValueItemProvider == null) {
			portCountValueItemProvider = new PortCountValueItemProvider(this);
		}

		return portCountValueItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortDequeueAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortDequeueActionItemProvider portDequeueActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortDequeueAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortDequeueActionAdapter() {
		if (portDequeueActionItemProvider == null) {
			portDequeueActionItemProvider = new PortDequeueActionItemProvider(this);
		}

		return portDequeueActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortDequeueValue} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortDequeueValueItemProvider portDequeueValueItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortDequeueValue}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortDequeueValueAdapter() {
		if (portDequeueValueItemProvider == null) {
			portDequeueValueItemProvider = new PortDequeueValueItemProvider(this);
		}

		return portDequeueValueItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortFreezeAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortFreezeActionItemProvider portFreezeActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortFreezeAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortFreezeActionAdapter() {
		if (portFreezeActionItemProvider == null) {
			portFreezeActionItemProvider = new PortFreezeActionItemProvider(this);
		}

		return portFreezeActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortFreshValue} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortFreshValueItemProvider portFreshValueItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortFreshValue}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortFreshValueAdapter() {
		if (portFreshValueItemProvider == null) {
			portFreshValueItemProvider = new PortFreshValueItemProvider(this);
		}

		return portFreshValueItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortPrototypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortPrototypeHolderItemProvider portPrototypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortPrototypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortPrototypeHolderAdapter() {
		if (portPrototypeHolderItemProvider == null) {
			portPrototypeHolderItemProvider = new PortPrototypeHolderItemProvider(this);
		}

		return portPrototypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PortSendAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PortSendActionItemProvider portSendActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PortSendAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPortSendActionAdapter() {
		if (portSendActionItemProvider == null) {
			portSendActionItemProvider = new PortSendActionItemProvider(this);
		}

		return portSendActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PropertyNameHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PropertyNameHolderItemProvider propertyNameHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PropertyNameHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPropertyNameHolderAdapter() {
		if (propertyNameHolderItemProvider == null) {
			propertyNameHolderItemProvider = new PropertyNameHolderItemProvider(this);
		}

		return propertyNameHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PropertyAssociationHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PropertyAssociationHolderItemProvider propertyAssociationHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PropertyAssociationHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPropertyAssociationHolderAdapter() {
		if (propertyAssociationHolderItemProvider == null) {
			propertyAssociationHolderItemProvider = new PropertyAssociationHolderItemProvider(this);
		}

		return propertyAssociationHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PropertyExpressionHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PropertyExpressionHolderItemProvider propertyExpressionHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PropertyExpressionHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPropertyExpressionHolderAdapter() {
		if (propertyExpressionHolderItemProvider == null) {
			propertyExpressionHolderItemProvider = new PropertyExpressionHolderItemProvider(this);
		}

		return propertyExpressionHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PropertyTypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PropertyTypeHolderItemProvider propertyTypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PropertyTypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPropertyTypeHolderAdapter() {
		if (propertyTypeHolderItemProvider == null) {
			propertyTypeHolderItemProvider = new PropertyTypeHolderItemProvider(this);
		}

		return propertyTypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.PropertySetPropertyReference} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected PropertySetPropertyReferenceItemProvider propertySetPropertyReferenceItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.PropertySetPropertyReference}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createPropertySetPropertyReferenceAdapter() {
		if (propertySetPropertyReferenceItemProvider == null) {
			propertySetPropertyReferenceItemProvider = new PropertySetPropertyReferenceItemProvider(this);
		}

		return propertySetPropertyReferenceItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Relation} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected RelationItemProvider relationItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Relation}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createRelationAdapter() {
		if (relationItemProvider == null) {
			relationItemProvider = new RelationItemProvider(this);
		}

		return relationItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SimpleExpression} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SimpleExpressionItemProvider simpleExpressionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SimpleExpression}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSimpleExpressionAdapter() {
		if (simpleExpressionItemProvider == null) {
			simpleExpressionItemProvider = new SimpleExpressionItemProvider(this);
		}

		return simpleExpressionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.StructUnionElement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StructUnionElementItemProvider structUnionElementItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.StructUnionElement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStructUnionElementAdapter() {
		if (structUnionElementItemProvider == null) {
			structUnionElementItemProvider = new StructUnionElementItemProvider(this);
		}

		return structUnionElementItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.StructUnionElementHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected StructUnionElementHolderItemProvider structUnionElementHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.StructUnionElementHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createStructUnionElementHolderAdapter() {
		if (structUnionElementHolderItemProvider == null) {
			structUnionElementHolderItemProvider = new StructUnionElementHolderItemProvider(this);
		}

		return structUnionElementHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubcomponentHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubcomponentHolderItemProvider subcomponentHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubcomponentHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubcomponentHolderAdapter() {
		if (subcomponentHolderItemProvider == null) {
			subcomponentHolderItemProvider = new SubcomponentHolderItemProvider(this);
		}

		return subcomponentHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramAccessHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramAccessHolderItemProvider subprogramAccessHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramAccessHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramAccessHolderAdapter() {
		if (subprogramAccessHolderItemProvider == null) {
			subprogramAccessHolderItemProvider = new SubprogramAccessHolderItemProvider(this);
		}

		return subprogramAccessHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramCallAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramCallActionItemProvider subprogramCallActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramCallAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramCallActionAdapter() {
		if (subprogramCallActionItemProvider == null) {
			subprogramCallActionItemProvider = new SubprogramCallActionItemProvider(this);
		}

		return subprogramCallActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramHolderItemProvider subprogramHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramHolderAdapter() {
		if (subprogramHolderItemProvider == null) {
			subprogramHolderItemProvider = new SubprogramHolderItemProvider(this);
		}

		return subprogramHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramHolderProxy} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramHolderProxyItemProvider subprogramHolderProxyItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramHolderProxy}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramHolderProxyAdapter() {
		if (subprogramHolderProxyItemProvider == null) {
			subprogramHolderProxyItemProvider = new SubprogramHolderProxyItemProvider(this);
		}

		return subprogramHolderProxyItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramPrototypeHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramPrototypeHolderItemProvider subprogramPrototypeHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramPrototypeHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramPrototypeHolderAdapter() {
		if (subprogramPrototypeHolderItemProvider == null) {
			subprogramPrototypeHolderItemProvider = new SubprogramPrototypeHolderItemProvider(this);
		}

		return subprogramPrototypeHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.SubprogramSubcomponentHolder} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SubprogramSubcomponentHolderItemProvider subprogramSubcomponentHolderItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.SubprogramSubcomponentHolder}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createSubprogramSubcomponentHolderAdapter() {
		if (subprogramSubcomponentHolderItemProvider == null) {
			subprogramSubcomponentHolderItemProvider = new SubprogramSubcomponentHolderItemProvider(this);
		}

		return subprogramSubcomponentHolderItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Target} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TargetItemProvider targetItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Target}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTargetAdapter() {
		if (targetItemProvider == null) {
			targetItemProvider = new TargetItemProvider(this);
		}

		return targetItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.Term} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TermItemProvider termItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.Term}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTermAdapter() {
		if (termItemProvider == null) {
			termItemProvider = new TermItemProvider(this);
		}

		return termItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.TimedAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected TimedActionItemProvider timedActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.TimedAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createTimedActionAdapter() {
		if (timedActionItemProvider == null) {
			timedActionItemProvider = new TimedActionItemProvider(this);
		}

		return timedActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.UnlockAction} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected UnlockActionItemProvider unlockActionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.UnlockAction}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createUnlockActionAdapter() {
		if (unlockActionItemProvider == null) {
			unlockActionItemProvider = new UnlockActionItemProvider(this);
		}

		return unlockActionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.UpperBound} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected UpperBoundItemProvider upperBoundItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.UpperBound}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createUpperBoundAdapter() {
		if (upperBoundItemProvider == null) {
			upperBoundItemProvider = new UpperBoundItemProvider(this);
		}

		return upperBoundItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.ValueExpression} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ValueExpressionItemProvider valueExpressionItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.ValueExpression}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createValueExpressionAdapter() {
		if (valueExpressionItemProvider == null) {
			valueExpressionItemProvider = new ValueExpressionItemProvider(this);
		}

		return valueExpressionItemProvider;
	}

	/**
	 * This keeps track of the one adapter used for all {@link org.osate.ba.aadlba.WhileOrDoUntilStatement} instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected WhileOrDoUntilStatementItemProvider whileOrDoUntilStatementItemProvider;

	/**
	 * This creates an adapter for a {@link org.osate.ba.aadlba.WhileOrDoUntilStatement}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Adapter createWhileOrDoUntilStatementAdapter() {
		if (whileOrDoUntilStatementItemProvider == null) {
			whileOrDoUntilStatementItemProvider = new WhileOrDoUntilStatementItemProvider(this);
		}

		return whileOrDoUntilStatementItemProvider;
	}

	/**
	 * This returns the root adapter factory that contains this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	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
	 */
	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
	 */
	public void addListener(INotifyChangedListener notifyChangedListener) {
		changeNotifier.addListener(notifyChangedListener);
	}

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

	/**
	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	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
	 */
	public void dispose() {
		if (assignmentActionItemProvider != null)
			assignmentActionItemProvider.dispose();
		if (anyItemProvider != null)
			anyItemProvider.dispose();
		if (basicPropertyHolderItemProvider != null)
			basicPropertyHolderItemProvider.dispose();
		if (behaviorActionBlockItemProvider != null)
			behaviorActionBlockItemProvider.dispose();
		if (behaviorActionSequenceItemProvider != null)
			behaviorActionSequenceItemProvider.dispose();
		if (behaviorActionSetItemProvider != null)
			behaviorActionSetItemProvider.dispose();
		if (behaviorAnnexItemProvider != null)
			behaviorAnnexItemProvider.dispose();
		if (behaviorBooleanLiteralItemProvider != null)
			behaviorBooleanLiteralItemProvider.dispose();
		if (behaviorIntegerLiteralItemProvider != null)
			behaviorIntegerLiteralItemProvider.dispose();
		if (behaviorPropertyConstantItemProvider != null)
			behaviorPropertyConstantItemProvider.dispose();
		if (behaviorRealLiteralItemProvider != null)
			behaviorRealLiteralItemProvider.dispose();
		if (behaviorStateItemProvider != null)
			behaviorStateItemProvider.dispose();
		if (behaviorStringLiteralItemProvider != null)
			behaviorStringLiteralItemProvider.dispose();
		if (behaviorTimeItemProvider != null)
			behaviorTimeItemProvider.dispose();
		if (behaviorTransitionItemProvider != null)
			behaviorTransitionItemProvider.dispose();
		if (behaviorVariableItemProvider != null)
			behaviorVariableItemProvider.dispose();
		if (behaviorVariableHolderItemProvider != null)
			behaviorVariableHolderItemProvider.dispose();
		if (calledSubprogramHolderItemProvider != null)
			calledSubprogramHolderItemProvider.dispose();
		if (classifierPropertyReferenceItemProvider != null)
			classifierPropertyReferenceItemProvider.dispose();
		if (completionRelativeTimeoutItemProvider != null)
			completionRelativeTimeoutItemProvider.dispose();
		if (classifierFeaturePropertyReferenceItemProvider != null)
			classifierFeaturePropertyReferenceItemProvider.dispose();
		if (dataAccessHolderItemProvider != null)
			dataAccessHolderItemProvider.dispose();
		if (dataAccessPrototypeHolderItemProvider != null)
			dataAccessPrototypeHolderItemProvider.dispose();
		if (dataComponentReferenceItemProvider != null)
			dataComponentReferenceItemProvider.dispose();
		if (dataPortHolderItemProvider != null)
			dataPortHolderItemProvider.dispose();
		if (dataSubcomponentHolderItemProvider != null)
			dataSubcomponentHolderItemProvider.dispose();
		if (dispatchConditionItemProvider != null)
			dispatchConditionItemProvider.dispose();
		if (dispatchConjunctionItemProvider != null)
			dispatchConjunctionItemProvider.dispose();
		if (dispatchRelativeTimeoutItemProvider != null)
			dispatchRelativeTimeoutItemProvider.dispose();
		if (dispatchTriggerConditionStopItemProvider != null)
			dispatchTriggerConditionStopItemProvider.dispose();
		if (dispatchTriggerLogicalExpressionItemProvider != null)
			dispatchTriggerLogicalExpressionItemProvider.dispose();
		if (elseStatementItemProvider != null)
			elseStatementItemProvider.dispose();
		if (enumLiteralHolderItemProvider != null)
			enumLiteralHolderItemProvider.dispose();
		if (eventDataPortHolderItemProvider != null)
			eventDataPortHolderItemProvider.dispose();
		if (eventPortHolderItemProvider != null)
			eventPortHolderItemProvider.dispose();
		if (executionTimeoutCatchItemProvider != null)
			executionTimeoutCatchItemProvider.dispose();
		if (factorItemProvider != null)
			factorItemProvider.dispose();
		if (featureHolderItemProvider != null)
			featureHolderItemProvider.dispose();
		if (featurePrototypeHolderItemProvider != null)
			featurePrototypeHolderItemProvider.dispose();
		if (forOrForAllStatementItemProvider != null)
			forOrForAllStatementItemProvider.dispose();
		if (groupHolderItemProvider != null)
			groupHolderItemProvider.dispose();
		if (groupPrototypeHolderItemProvider != null)
			groupPrototypeHolderItemProvider.dispose();
		if (ifStatementItemProvider != null)
			ifStatementItemProvider.dispose();
		if (integerRangeItemProvider != null)
			integerRangeItemProvider.dispose();
		if (iterativeVariableItemProvider != null)
			iterativeVariableItemProvider.dispose();
		if (iterativeVariableHolderItemProvider != null)
			iterativeVariableHolderItemProvider.dispose();
		if (lockActionItemProvider != null)
			lockActionItemProvider.dispose();
		if (lowerBoundItemProvider != null)
			lowerBoundItemProvider.dispose();
		if (otherwiseItemProvider != null)
			otherwiseItemProvider.dispose();
		if (parameterHolderItemProvider != null)
			parameterHolderItemProvider.dispose();
		if (portCountValueItemProvider != null)
			portCountValueItemProvider.dispose();
		if (portDequeueActionItemProvider != null)
			portDequeueActionItemProvider.dispose();
		if (portDequeueValueItemProvider != null)
			portDequeueValueItemProvider.dispose();
		if (portFreezeActionItemProvider != null)
			portFreezeActionItemProvider.dispose();
		if (portFreshValueItemProvider != null)
			portFreshValueItemProvider.dispose();
		if (portPrototypeHolderItemProvider != null)
			portPrototypeHolderItemProvider.dispose();
		if (portSendActionItemProvider != null)
			portSendActionItemProvider.dispose();
		if (propertyNameHolderItemProvider != null)
			propertyNameHolderItemProvider.dispose();
		if (propertyAssociationHolderItemProvider != null)
			propertyAssociationHolderItemProvider.dispose();
		if (propertyExpressionHolderItemProvider != null)
			propertyExpressionHolderItemProvider.dispose();
		if (propertyTypeHolderItemProvider != null)
			propertyTypeHolderItemProvider.dispose();
		if (propertySetPropertyReferenceItemProvider != null)
			propertySetPropertyReferenceItemProvider.dispose();
		if (relationItemProvider != null)
			relationItemProvider.dispose();
		if (simpleExpressionItemProvider != null)
			simpleExpressionItemProvider.dispose();
		if (structUnionElementItemProvider != null)
			structUnionElementItemProvider.dispose();
		if (structUnionElementHolderItemProvider != null)
			structUnionElementHolderItemProvider.dispose();
		if (subcomponentHolderItemProvider != null)
			subcomponentHolderItemProvider.dispose();
		if (subprogramAccessHolderItemProvider != null)
			subprogramAccessHolderItemProvider.dispose();
		if (subprogramCallActionItemProvider != null)
			subprogramCallActionItemProvider.dispose();
		if (subprogramHolderItemProvider != null)
			subprogramHolderItemProvider.dispose();
		if (subprogramHolderProxyItemProvider != null)
			subprogramHolderProxyItemProvider.dispose();
		if (subprogramPrototypeHolderItemProvider != null)
			subprogramPrototypeHolderItemProvider.dispose();
		if (subprogramSubcomponentHolderItemProvider != null)
			subprogramSubcomponentHolderItemProvider.dispose();
		if (targetItemProvider != null)
			targetItemProvider.dispose();
		if (termItemProvider != null)
			termItemProvider.dispose();
		if (timedActionItemProvider != null)
			timedActionItemProvider.dispose();
		if (unlockActionItemProvider != null)
			unlockActionItemProvider.dispose();
		if (upperBoundItemProvider != null)
			upperBoundItemProvider.dispose();
		if (valueExpressionItemProvider != null)
			valueExpressionItemProvider.dispose();
		if (whileOrDoUntilStatementItemProvider != null)
			whileOrDoUntilStatementItemProvider.dispose();
	}

}