content: /**
   * (C) Jennic Ltd 2008
   *
   * $Id$
   */
  package com.jennic.ZPSConfiguration.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 com.jennic.ZPSConfiguration.util.ZPSConfigurationAdapterFactory;
  
  /**
   * 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 ZPSConfigurationItemProviderAdapterFactory extends ZPSConfigurationAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public static final String copyright = "(C) NXP B.V";
  
  	/**
  	 * 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 ZPSConfigurationItemProviderAdapterFactory() {
  		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 com.jennic.ZPSConfiguration.Profile} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ProfileItemProvider profileItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.Profile}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createProfileAdapter() {
  		if (profileItemProvider == null) {
  			profileItemProvider = new ProfileItemProvider(this);
  		}
  
  		return profileItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.Cluster} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ClusterItemProvider clusterItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.Cluster}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createClusterAdapter() {
  		if (clusterItemProvider == null) {
  			clusterItemProvider = new ClusterItemProvider(this);
  		}
  
  		return clusterItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.Coordinator} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected CoordinatorItemProvider coordinatorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.Coordinator}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createCoordinatorAdapter() {
  		if (coordinatorItemProvider == null) {
  			coordinatorItemProvider = new CoordinatorItemProvider(this);
  		}
  
  		return coordinatorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.Router} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected RouterItemProvider routerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.Router}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createRouterAdapter() {
  		if (routerItemProvider == null) {
  			routerItemProvider = new RouterItemProvider(this);
  		}
  
  		return routerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.EndDevice} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected EndDeviceItemProvider endDeviceItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.EndDevice}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createEndDeviceAdapter() {
  		if (endDeviceItemProvider == null) {
  			endDeviceItemProvider = new EndDeviceItemProvider(this);
  		}
  
  		return endDeviceItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.EndPoint} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected EndPointItemProvider endPointItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.EndPoint}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createEndPointAdapter() {
  		if (endPointItemProvider == null) {
  			endPointItemProvider = new EndPointItemProvider(this);
  		}
  
  		return endPointItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PrimaryDiscoveryCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PrimaryDiscoveryCacheItemProvider primaryDiscoveryCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PrimaryDiscoveryCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPrimaryDiscoveryCacheAdapter() {
  		if (primaryDiscoveryCacheItemProvider == null) {
  			primaryDiscoveryCacheItemProvider = new PrimaryDiscoveryCacheItemProvider(this);
  		}
  
  		return primaryDiscoveryCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BackupDiscoveryCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BackupDiscoveryCacheItemProvider backupDiscoveryCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BackupDiscoveryCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBackupDiscoveryCacheAdapter() {
  		if (backupDiscoveryCacheItemProvider == null) {
  			backupDiscoveryCacheItemProvider = new BackupDiscoveryCacheItemProvider(this);
  		}
  
  		return backupDiscoveryCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.DiscoveryTable} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected DiscoveryTableItemProvider discoveryTableItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.DiscoveryTable}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createDiscoveryTableAdapter() {
  		if (discoveryTableItemProvider == null) {
  			discoveryTableItemProvider = new DiscoveryTableItemProvider(this);
  		}
  
  		return discoveryTableItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BindingTable} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BindingTableItemProvider bindingTableItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BindingTable}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBindingTableAdapter() {
  		if (bindingTableItemProvider == null) {
  			bindingTableItemProvider = new BindingTableItemProvider(this);
  		}
  
  		return bindingTableItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.GroupTable} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected GroupTableItemProvider groupTableItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.GroupTable}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createGroupTableAdapter() {
  		if (groupTableItemProvider == null) {
  			groupTableItemProvider = new GroupTableItemProvider(this);
  		}
  
  		return groupTableItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ZigbeeWirelessNetwork} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ZigbeeWirelessNetworkItemProvider zigbeeWirelessNetworkItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ZigbeeWirelessNetwork}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createZigbeeWirelessNetworkAdapter() {
  		if (zigbeeWirelessNetworkItemProvider == null) {
  			zigbeeWirelessNetworkItemProvider = new ZigbeeWirelessNetworkItemProvider(this);
  		}
  
  		return zigbeeWirelessNetworkItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PrimaryBindingCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PrimaryBindingCacheItemProvider primaryBindingCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PrimaryBindingCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPrimaryBindingCacheAdapter() {
  		if (primaryBindingCacheItemProvider == null) {
  			primaryBindingCacheItemProvider = new PrimaryBindingCacheItemProvider(this);
  		}
  
  		return primaryBindingCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BackupBindingCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BackupBindingCacheItemProvider backupBindingCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BackupBindingCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBackupBindingCacheAdapter() {
  		if (backupBindingCacheItemProvider == null) {
  			backupBindingCacheItemProvider = new BackupBindingCacheItemProvider(this);
  		}
  
  		return backupBindingCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PrimaryGroupCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PrimaryGroupCacheItemProvider primaryGroupCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PrimaryGroupCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPrimaryGroupCacheAdapter() {
  		if (primaryGroupCacheItemProvider == null) {
  			primaryGroupCacheItemProvider = new PrimaryGroupCacheItemProvider(this);
  		}
  
  		return primaryGroupCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BackupGroupCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BackupGroupCacheItemProvider backupGroupCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BackupGroupCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBackupGroupCacheAdapter() {
  		if (backupGroupCacheItemProvider == null) {
  			backupGroupCacheItemProvider = new BackupGroupCacheItemProvider(this);
  		}
  
  		return backupGroupCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.InputCluster} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected InputClusterItemProvider inputClusterItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.InputCluster}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createInputClusterAdapter() {
  		if (inputClusterItemProvider == null) {
  			inputClusterItemProvider = new InputClusterItemProvider(this);
  		}
  
  		return inputClusterItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.OutputCluster} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected OutputClusterItemProvider outputClusterItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.OutputCluster}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createOutputClusterAdapter() {
  		if (outputClusterItemProvider == null) {
  			outputClusterItemProvider = new OutputClusterItemProvider(this);
  		}
  
  		return outputClusterItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ComplexDescriptor} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ComplexDescriptorItemProvider complexDescriptorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ComplexDescriptor}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createComplexDescriptorAdapter() {
  		if (complexDescriptorItemProvider == null) {
  			complexDescriptorItemProvider = new ComplexDescriptorItemProvider(this);
  		}
  
  		return complexDescriptorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.UserDescriptor} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected UserDescriptorItemProvider userDescriptorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.UserDescriptor}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createUserDescriptorAdapter() {
  		if (userDescriptorItemProvider == null) {
  			userDescriptorItemProvider = new UserDescriptorItemProvider(this);
  		}
  
  		return userDescriptorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.TrustCenter} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected TrustCenterItemProvider trustCenterItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.TrustCenter}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createTrustCenterAdapter() {
  		if (trustCenterItemProvider == null) {
  			trustCenterItemProvider = new TrustCenterItemProvider(this);
  		}
  
  		return trustCenterItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.DiscoveryCache} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected DiscoveryCacheItemProvider discoveryCacheItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.DiscoveryCache}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createDiscoveryCacheAdapter() {
  		if (discoveryCacheItemProvider == null) {
  			discoveryCacheItemProvider = new DiscoveryCacheItemProvider(this);
  		}
  
  		return discoveryCacheItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.APDU} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected APDUItemProvider apduItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.APDU}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createAPDUAdapter() {
  		if (apduItemProvider == null) {
  			apduItemProvider = new APDUItemProvider(this);
  		}
  
  		return apduItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PDUManager} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PDUManagerItemProvider pduManagerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PDUManager}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPDUManagerAdapter() {
  		if (pduManagerItemProvider == null) {
  			pduManagerItemProvider = new PDUManagerItemProvider(this);
  		}
  
  		return pduManagerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ChannelMask} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ChannelMaskItemProvider channelMaskItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ChannelMask}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createChannelMaskAdapter() {
  		if (channelMaskItemProvider == null) {
  			channelMaskItemProvider = new ChannelMaskItemProvider(this);
  		}
  
  		return channelMaskItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ZDOServersCoordinator} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ZDOServersCoordinatorItemProvider zdoServersCoordinatorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ZDOServersCoordinator}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createZDOServersCoordinatorAdapter() {
  		if (zdoServersCoordinatorItemProvider == null) {
  			zdoServersCoordinatorItemProvider = new ZDOServersCoordinatorItemProvider(this);
  		}
  
  		return zdoServersCoordinatorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.EndDeviceBindServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected EndDeviceBindServerItemProvider endDeviceBindServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.EndDeviceBindServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createEndDeviceBindServerAdapter() {
  		if (endDeviceBindServerItemProvider == null) {
  			endDeviceBindServerItemProvider = new EndDeviceBindServerItemProvider(this);
  		}
  
  		return endDeviceBindServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ZDOServersRouter} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ZDOServersRouterItemProvider zdoServersRouterItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ZDOServersRouter}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createZDOServersRouterAdapter() {
  		if (zdoServersRouterItemProvider == null) {
  			zdoServersRouterItemProvider = new ZDOServersRouterItemProvider(this);
  		}
  
  		return zdoServersRouterItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ZDOServersEndDevice} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ZDOServersEndDeviceItemProvider zdoServersEndDeviceItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ZDOServersEndDevice}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createZDOServersEndDeviceAdapter() {
  		if (zdoServersEndDeviceItemProvider == null) {
  			zdoServersEndDeviceItemProvider = new ZDOServersEndDeviceItemProvider(this);
  		}
  
  		return zdoServersEndDeviceItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.DefaultServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected DefaultServerItemProvider defaultServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.DefaultServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createDefaultServerAdapter() {
  		if (defaultServerItemProvider == null) {
  			defaultServerItemProvider = new DefaultServerItemProvider(this);
  		}
  
  		return defaultServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.DeviceAnnceServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected DeviceAnnceServerItemProvider deviceAnnceServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.DeviceAnnceServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createDeviceAnnceServerAdapter() {
  		if (deviceAnnceServerItemProvider == null) {
  			deviceAnnceServerItemProvider = new DeviceAnnceServerItemProvider(this);
  		}
  
  		return deviceAnnceServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ActiveEpServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ActiveEpServerItemProvider activeEpServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ActiveEpServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createActiveEpServerAdapter() {
  		if (activeEpServerItemProvider == null) {
  			activeEpServerItemProvider = new ActiveEpServerItemProvider(this);
  		}
  
  		return activeEpServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.NwkAddrServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected NwkAddrServerItemProvider nwkAddrServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.NwkAddrServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createNwkAddrServerAdapter() {
  		if (nwkAddrServerItemProvider == null) {
  			nwkAddrServerItemProvider = new NwkAddrServerItemProvider(this);
  		}
  
  		return nwkAddrServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.IeeeAddrServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected IeeeAddrServerItemProvider ieeeAddrServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.IeeeAddrServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createIeeeAddrServerAdapter() {
  		if (ieeeAddrServerItemProvider == null) {
  			ieeeAddrServerItemProvider = new IeeeAddrServerItemProvider(this);
  		}
  
  		return ieeeAddrServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MatchDescServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MatchDescServerItemProvider matchDescServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MatchDescServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMatchDescServerAdapter() {
  		if (matchDescServerItemProvider == null) {
  			matchDescServerItemProvider = new MatchDescServerItemProvider(this);
  		}
  
  		return matchDescServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.NodeDescServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected NodeDescServerItemProvider nodeDescServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.NodeDescServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createNodeDescServerAdapter() {
  		if (nodeDescServerItemProvider == null) {
  			nodeDescServerItemProvider = new NodeDescServerItemProvider(this);
  		}
  
  		return nodeDescServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PermitJoiningServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PermitJoiningServerItemProvider permitJoiningServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PermitJoiningServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPermitJoiningServerAdapter() {
  		if (permitJoiningServerItemProvider == null) {
  			permitJoiningServerItemProvider = new PermitJoiningServerItemProvider(this);
  		}
  
  		return permitJoiningServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PowerDescServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PowerDescServerItemProvider powerDescServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PowerDescServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPowerDescServerAdapter() {
  		if (powerDescServerItemProvider == null) {
  			powerDescServerItemProvider = new PowerDescServerItemProvider(this);
  		}
  
  		return powerDescServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.SimpleDescServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected SimpleDescServerItemProvider simpleDescServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.SimpleDescServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createSimpleDescServerAdapter() {
  		if (simpleDescServerItemProvider == null) {
  			simpleDescServerItemProvider = new SimpleDescServerItemProvider(this);
  		}
  
  		return simpleDescServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.SystemServerDiscoveryServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected SystemServerDiscoveryServerItemProvider systemServerDiscoveryServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.SystemServerDiscoveryServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createSystemServerDiscoveryServerAdapter() {
  		if (systemServerDiscoveryServerItemProvider == null) {
  			systemServerDiscoveryServerItemProvider = new SystemServerDiscoveryServerItemProvider(this);
  		}
  
  		return systemServerDiscoveryServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtLqiServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtLqiServerItemProvider mgmtLqiServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtLqiServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtLqiServerAdapter() {
  		if (mgmtLqiServerItemProvider == null) {
  			mgmtLqiServerItemProvider = new MgmtLqiServerItemProvider(this);
  		}
  
  		return mgmtLqiServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtRtgServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtRtgServerItemProvider mgmtRtgServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtRtgServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtRtgServerAdapter() {
  		if (mgmtRtgServerItemProvider == null) {
  			mgmtRtgServerItemProvider = new MgmtRtgServerItemProvider(this);
  		}
  
  		return mgmtRtgServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtLeaveServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtLeaveServerItemProvider mgmtLeaveServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtLeaveServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtLeaveServerAdapter() {
  		if (mgmtLeaveServerItemProvider == null) {
  			mgmtLeaveServerItemProvider = new MgmtLeaveServerItemProvider(this);
  		}
  
  		return mgmtLeaveServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.NodeDescriptor} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected NodeDescriptorItemProvider nodeDescriptorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.NodeDescriptor}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createNodeDescriptorAdapter() {
  		if (nodeDescriptorItemProvider == null) {
  			nodeDescriptorItemProvider = new NodeDescriptorItemProvider(this);
  		}
  
  		return nodeDescriptorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.NodePowerDescriptor} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected NodePowerDescriptorItemProvider nodePowerDescriptorItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.NodePowerDescriptor}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createNodePowerDescriptorAdapter() {
  		if (nodePowerDescriptorItemProvider == null) {
  			nodePowerDescriptorItemProvider = new NodePowerDescriptorItemProvider(this);
  		}
  
  		return nodePowerDescriptorItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BindUnbindServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BindUnbindServerItemProvider bindUnbindServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BindUnbindServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBindUnbindServerAdapter() {
  		if (bindUnbindServerItemProvider == null) {
  			bindUnbindServerItemProvider = new BindUnbindServerItemProvider(this);
  		}
  
  		return bindUnbindServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtBindServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtBindServerItemProvider mgmtBindServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtBindServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtBindServerAdapter() {
  		if (mgmtBindServerItemProvider == null) {
  			mgmtBindServerItemProvider = new MgmtBindServerItemProvider(this);
  		}
  
  		return mgmtBindServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ExtendedActiveEpServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ExtendedActiveEpServerItemProvider extendedActiveEpServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ExtendedActiveEpServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createExtendedActiveEpServerAdapter() {
  		if (extendedActiveEpServerItemProvider == null) {
  			extendedActiveEpServerItemProvider = new ExtendedActiveEpServerItemProvider(this);
  		}
  
  		return extendedActiveEpServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ExtendedSimpleDescServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ExtendedSimpleDescServerItemProvider extendedSimpleDescServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ExtendedSimpleDescServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createExtendedSimpleDescServerAdapter() {
  		if (extendedSimpleDescServerItemProvider == null) {
  			extendedSimpleDescServerItemProvider = new ExtendedSimpleDescServerItemProvider(this);
  		}
  
  		return extendedSimpleDescServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ZdoClient} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ZdoClientItemProvider zdoClientItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ZdoClient}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createZdoClientAdapter() {
  		if (zdoClientItemProvider == null) {
  			zdoClientItemProvider = new ZdoClientItemProvider(this);
  		}
  
  		return zdoClientItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtNWKUpdateServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtNWKUpdateServerItemProvider mgmtNWKUpdateServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtNWKUpdateServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtNWKUpdateServerAdapter() {
  		if (mgmtNWKUpdateServerItemProvider == null) {
  			mgmtNWKUpdateServerItemProvider = new MgmtNWKUpdateServerItemProvider(this);
  		}
  
  		return mgmtNWKUpdateServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.NotImplemented} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected NotImplementedItemProvider notImplementedItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.NotImplemented}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createNotImplementedAdapter() {
  		if (notImplementedItemProvider == null) {
  			notImplementedItemProvider = new NotImplementedItemProvider(this);
  		}
  
  		return notImplementedItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.KeyDescriptorTable} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected KeyDescriptorTableItemProvider keyDescriptorTableItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.KeyDescriptorTable}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createKeyDescriptorTableAdapter() {
  		if (keyDescriptorTableItemProvider == null) {
  			keyDescriptorTableItemProvider = new KeyDescriptorTableItemProvider(this);
  		}
  
  		return keyDescriptorTableItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PreconfiguredKey} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PreconfiguredKeyItemProvider preconfiguredKeyItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PreconfiguredKey}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPreconfiguredKeyAdapter() {
  		if (preconfiguredKeyItemProvider == null) {
  			preconfiguredKeyItemProvider = new PreconfiguredKeyItemProvider(this);
  		}
  
  		return preconfiguredKeyItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PreConfiguredNwkKey} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PreConfiguredNwkKeyItemProvider preConfiguredNwkKeyItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PreConfiguredNwkKey}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPreConfiguredNwkKeyAdapter() {
  		if (preConfiguredNwkKeyItemProvider == null) {
  			preConfiguredNwkKeyItemProvider = new PreConfiguredNwkKeyItemProvider(this);
  		}
  
  		return preConfiguredNwkKeyItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.DefaultNwkKey} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected DefaultNwkKeyItemProvider defaultNwkKeyItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.DefaultNwkKey}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createDefaultNwkKeyAdapter() {
  		if (defaultNwkKeyItemProvider == null) {
  			defaultNwkKeyItemProvider = new DefaultNwkKeyItemProvider(this);
  		}
  
  		return defaultNwkKeyItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.PreconfiguredTCLinkKey} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected PreconfiguredTCLinkKeyItemProvider preconfiguredTCLinkKeyItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.PreconfiguredTCLinkKey}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createPreconfiguredTCLinkKeyAdapter() {
  		if (preconfiguredTCLinkKeyItemProvider == null) {
  			preconfiguredTCLinkKeyItemProvider = new PreconfiguredTCLinkKeyItemProvider(this);
  		}
  
  		return preconfiguredTCLinkKeyItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.BindRequestServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected BindRequestServerItemProvider bindRequestServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.BindRequestServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createBindRequestServerAdapter() {
  		if (bindRequestServerItemProvider == null) {
  			bindRequestServerItemProvider = new BindRequestServerItemProvider(this);
  		}
  
  		return bindRequestServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.GreenPowerSecurityTable} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected GreenPowerSecurityTableItemProvider greenPowerSecurityTableItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.GreenPowerSecurityTable}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createGreenPowerSecurityTableAdapter() {
  		if (greenPowerSecurityTableItemProvider == null) {
  			greenPowerSecurityTableItemProvider = new GreenPowerSecurityTableItemProvider(this);
  		}
  
  		return greenPowerSecurityTableItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.GreenPowerTxQueue} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected GreenPowerTxQueueItemProvider greenPowerTxQueueItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.GreenPowerTxQueue}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createGreenPowerTxQueueAdapter() {
  		if (greenPowerTxQueueItemProvider == null) {
  			greenPowerTxQueueItemProvider = new GreenPowerTxQueueItemProvider(this);
  		}
  
  		return greenPowerTxQueueItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtMibIeeeServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtMibIeeeServerItemProvider mgmtMibIeeeServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtMibIeeeServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtMibIeeeServerAdapter() {
  		if (mgmtMibIeeeServerItemProvider == null) {
  			mgmtMibIeeeServerItemProvider = new MgmtMibIeeeServerItemProvider(this);
  		}
  
  		return mgmtMibIeeeServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MgmtNWKEnhanceUpdateServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MgmtNWKEnhanceUpdateServerItemProvider mgmtNWKEnhanceUpdateServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MgmtNWKEnhanceUpdateServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMgmtNWKEnhanceUpdateServerAdapter() {
  		if (mgmtNWKEnhanceUpdateServerItemProvider == null) {
  			mgmtNWKEnhanceUpdateServerItemProvider = new MgmtNWKEnhanceUpdateServerItemProvider(this);
  		}
  
  		return mgmtNWKEnhanceUpdateServerItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MacInterfaceList} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MacInterfaceListItemProvider macInterfaceListItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MacInterfaceList}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMacInterfaceListAdapter() {
  		if (macInterfaceListItemProvider == null) {
  			macInterfaceListItemProvider = new MacInterfaceListItemProvider(this);
  		}
  
  		return macInterfaceListItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.MacInterface} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected MacInterfaceItemProvider macInterfaceItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.MacInterface}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createMacInterfaceAdapter() {
  		if (macInterfaceItemProvider == null) {
  			macInterfaceItemProvider = new MacInterfaceItemProvider(this);
  		}
  
  		return macInterfaceItemProvider;
  	}
  
  	/**
  	 * This keeps track of the one adapter used for all {@link com.jennic.ZPSConfiguration.ParentAnnceServer} instances.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected ParentAnnceServerItemProvider parentAnnceServerItemProvider;
  
  	/**
  	 * This creates an adapter for a {@link com.jennic.ZPSConfiguration.ParentAnnceServer}.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public Adapter createParentAnnceServerAdapter() {
  		if (parentAnnceServerItemProvider == null) {
  			parentAnnceServerItemProvider = new ParentAnnceServerItemProvider(this);
  		}
  
  		return parentAnnceServerItemProvider;
  	}
  
  	/**
  	 * 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 (profileItemProvider != null) profileItemProvider.dispose();
  		if (clusterItemProvider != null) clusterItemProvider.dispose();
  		if (coordinatorItemProvider != null) coordinatorItemProvider.dispose();
  		if (routerItemProvider != null) routerItemProvider.dispose();
  		if (endDeviceItemProvider != null) endDeviceItemProvider.dispose();
  		if (endPointItemProvider != null) endPointItemProvider.dispose();
  		if (primaryDiscoveryCacheItemProvider != null) primaryDiscoveryCacheItemProvider.dispose();
  		if (backupDiscoveryCacheItemProvider != null) backupDiscoveryCacheItemProvider.dispose();
  		if (discoveryTableItemProvider != null) discoveryTableItemProvider.dispose();
  		if (bindingTableItemProvider != null) bindingTableItemProvider.dispose();
  		if (groupTableItemProvider != null) groupTableItemProvider.dispose();
  		if (zigbeeWirelessNetworkItemProvider != null) zigbeeWirelessNetworkItemProvider.dispose();
  		if (primaryBindingCacheItemProvider != null) primaryBindingCacheItemProvider.dispose();
  		if (backupBindingCacheItemProvider != null) backupBindingCacheItemProvider.dispose();
  		if (primaryGroupCacheItemProvider != null) primaryGroupCacheItemProvider.dispose();
  		if (backupGroupCacheItemProvider != null) backupGroupCacheItemProvider.dispose();
  		if (inputClusterItemProvider != null) inputClusterItemProvider.dispose();
  		if (outputClusterItemProvider != null) outputClusterItemProvider.dispose();
  		if (complexDescriptorItemProvider != null) complexDescriptorItemProvider.dispose();
  		if (userDescriptorItemProvider != null) userDescriptorItemProvider.dispose();
  		if (trustCenterItemProvider != null) trustCenterItemProvider.dispose();
  		if (discoveryCacheItemProvider != null) discoveryCacheItemProvider.dispose();
  		if (apduItemProvider != null) apduItemProvider.dispose();
  		if (pduManagerItemProvider != null) pduManagerItemProvider.dispose();
  		if (channelMaskItemProvider != null) channelMaskItemProvider.dispose();
  		if (zdoServersCoordinatorItemProvider != null) zdoServersCoordinatorItemProvider.dispose();
  		if (zdoServersRouterItemProvider != null) zdoServersRouterItemProvider.dispose();
  		if (zdoServersEndDeviceItemProvider != null) zdoServersEndDeviceItemProvider.dispose();
  		if (defaultServerItemProvider != null) defaultServerItemProvider.dispose();
  		if (endDeviceBindServerItemProvider != null) endDeviceBindServerItemProvider.dispose();
  		if (deviceAnnceServerItemProvider != null) deviceAnnceServerItemProvider.dispose();
  		if (activeEpServerItemProvider != null) activeEpServerItemProvider.dispose();
  		if (nwkAddrServerItemProvider != null) nwkAddrServerItemProvider.dispose();
  		if (ieeeAddrServerItemProvider != null) ieeeAddrServerItemProvider.dispose();
  		if (matchDescServerItemProvider != null) matchDescServerItemProvider.dispose();
  		if (nodeDescServerItemProvider != null) nodeDescServerItemProvider.dispose();
  		if (permitJoiningServerItemProvider != null) permitJoiningServerItemProvider.dispose();
  		if (powerDescServerItemProvider != null) powerDescServerItemProvider.dispose();
  		if (simpleDescServerItemProvider != null) simpleDescServerItemProvider.dispose();
  		if (systemServerDiscoveryServerItemProvider != null) systemServerDiscoveryServerItemProvider.dispose();
  		if (mgmtLqiServerItemProvider != null) mgmtLqiServerItemProvider.dispose();
  		if (mgmtRtgServerItemProvider != null) mgmtRtgServerItemProvider.dispose();
  		if (mgmtLeaveServerItemProvider != null) mgmtLeaveServerItemProvider.dispose();
  		if (nodeDescriptorItemProvider != null) nodeDescriptorItemProvider.dispose();
  		if (nodePowerDescriptorItemProvider != null) nodePowerDescriptorItemProvider.dispose();
  		if (bindUnbindServerItemProvider != null) bindUnbindServerItemProvider.dispose();
  		if (mgmtBindServerItemProvider != null) mgmtBindServerItemProvider.dispose();
  		if (extendedActiveEpServerItemProvider != null) extendedActiveEpServerItemProvider.dispose();
  		if (extendedSimpleDescServerItemProvider != null) extendedSimpleDescServerItemProvider.dispose();
  		if (zdoClientItemProvider != null) zdoClientItemProvider.dispose();
  		if (mgmtNWKUpdateServerItemProvider != null) mgmtNWKUpdateServerItemProvider.dispose();
  		if (notImplementedItemProvider != null) notImplementedItemProvider.dispose();
  		if (keyDescriptorTableItemProvider != null) keyDescriptorTableItemProvider.dispose();
  		if (preconfiguredKeyItemProvider != null) preconfiguredKeyItemProvider.dispose();
  		if (preConfiguredNwkKeyItemProvider != null) preConfiguredNwkKeyItemProvider.dispose();
  		if (defaultNwkKeyItemProvider != null) defaultNwkKeyItemProvider.dispose();
  		if (preconfiguredTCLinkKeyItemProvider != null) preconfiguredTCLinkKeyItemProvider.dispose();
  		if (bindRequestServerItemProvider != null) bindRequestServerItemProvider.dispose();
  		if (greenPowerSecurityTableItemProvider != null) greenPowerSecurityTableItemProvider.dispose();
  		if (greenPowerTxQueueItemProvider != null) greenPowerTxQueueItemProvider.dispose();
  		if (mgmtMibIeeeServerItemProvider != null) mgmtMibIeeeServerItemProvider.dispose();
  		if (parentAnnceServerItemProvider != null) parentAnnceServerItemProvider.dispose();
  		if (mgmtNWKEnhanceUpdateServerItemProvider != null) mgmtNWKEnhanceUpdateServerItemProvider.dispose();
  		if (macInterfaceListItemProvider != null) macInterfaceListItemProvider.dispose();
  		if (macInterfaceItemProvider != null) macInterfaceItemProvider.dispose();
  	}
  
  }
  