## org.eclipse.datatools.enablement.ingres.models.ingressqlmodel.impl
Class IngressqlmodelPackageImpl

    java.lang.Object
      org.eclipse.emf.common.notify.impl.BasicNotifierImpl
          org.eclipse.emf.ecore.impl.BasicEObjectImpl
              org.eclipse.emf.ecore.impl.MinimalEObjectImpl
                  org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
                      org.eclipse.emf.ecore.impl.EModelElementImpl
                          org.eclipse.emf.ecore.impl.ENamedElementImpl
                              org.eclipse.emf.ecore.impl.EPackageImpl
                                  org.eclipse.datatools.enablement.ingres.models.ingressqlmodel.impl.IngressqlmodelPackageImpl

All Implemented Interfaces:
  IngressqlmodelPackage, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.ENamedElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EPackage, org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder, org.eclipse.emf.ecore.InternalEObject, org.eclipse.emf.ecore.util.BasicExtendedMetaData.EPackageExtendedMetaData.Holder

    public class IngressqlmodelPackageImpl

extends org.eclipse.emf.ecore.impl.EPackageImpl
implements IngressqlmodelPackage

An implementation of the model Package.

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
`org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic`

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl
`org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container`

Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
`org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList`

Nested classes/interfaces inherited from interface org.eclipse.datatools.enablement.ingres.models.ingressqlmodel.IngressqlmodelPackage
`IngressqlmodelPackage.Literals`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.EPackage
`org.eclipse.emf.ecore.EPackage.Descriptor, org.eclipse.emf.ecore.EPackage.Registry`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
`org.eclipse.emf.ecore.InternalEObject.EStore`

Field Summary
`static java.lang.String` `copyright`

Fields inherited from interface org.eclipse.datatools.enablement.ingres.models.ingressqlmodel.IngressqlmodelPackage

`eINSTANCE, eNAME, eNS_PREFIX, eNS_URI, INGRES_DB_EVENT, INGRES_DB_EVENT__COMMENTS, INGRES_DB_EVENT__DEPENDENCIES, INGRES_DB_EVENT__DESCRIPTION, INGRES_DB_EVENT__EANNOTATIONS, INGRES_DB_EVENT__LABEL, INGRES_DB_EVENT__NAME, INGRES_DB_EVENT__PRIVILEGES, INGRES_DB_EVENT__SCHEMA, INGRES_DB_EVENT_FEATURE_COUNT, INGRES_IDENTITY_SPECIFIER, INGRES_IDENTITY_SPECIFIER__CACHE_OPTION, INGRES_IDENTITY_SPECIFIER__CACHE_SIZE, INGRES_IDENTITY_SPECIFIER__COMMENTS, INGRES_IDENTITY_SPECIFIER__CYCLE_OPTION, INGRES_IDENTITY_SPECIFIER__DATA_TYPE, INGRES_IDENTITY_SPECIFIER__DEPENDENCIES, INGRES_IDENTITY_SPECIFIER__DESCRIPTION, INGRES_IDENTITY_SPECIFIER__EANNOTATIONS, INGRES_IDENTITY_SPECIFIER__GENERATION_TYPE, INGRES_IDENTITY_SPECIFIER__INCREMENT, INGRES_IDENTITY_SPECIFIER__LABEL, INGRES_IDENTITY_SPECIFIER__MAXIMUM, INGRES_IDENTITY_SPECIFIER__MAXIMUM_OPTION, INGRES_IDENTITY_SPECIFIER__MINIMUM, INGRES_IDENTITY_SPECIFIER__MINIMUM_OPTION, INGRES_IDENTITY_SPECIFIER__NAME, INGRES_IDENTITY_SPECIFIER__ORDER_OPTION, INGRES_IDENTITY_SPECIFIER__PRIVILEGES, INGRES_IDENTITY_SPECIFIER__SEQ_LENGTH, INGRES_IDENTITY_SPECIFIER__SEQ_PRECISION, INGRES_IDENTITY_SPECIFIER__START_VALUE, INGRES_IDENTITY_SPECIFIER_FEATURE_COUNT, INGRES_SCHEMA, INGRES_SCHEMA__ASSERTIONS, INGRES_SCHEMA__CATALOG, INGRES_SCHEMA__CHAR_SETS, INGRES_SCHEMA__COMMENTS, INGRES_SCHEMA__DATABASE, INGRES_SCHEMA__DB_EVENTS, INGRES_SCHEMA__DEPENDENCIES, INGRES_SCHEMA__DESCRIPTION, INGRES_SCHEMA__EANNOTATIONS, INGRES_SCHEMA__INDICES, INGRES_SCHEMA__LABEL, INGRES_SCHEMA__NAME, INGRES_SCHEMA__OWNER, INGRES_SCHEMA__PRIVILEGES, INGRES_SCHEMA__ROUTINES, INGRES_SCHEMA__SEQUENCES, INGRES_SCHEMA__SYNONYMS, INGRES_SCHEMA__TABLES, INGRES_SCHEMA__TRIGGERS, INGRES_SCHEMA__USER_DEFINED_TYPES, INGRES_SCHEMA_FEATURE_COUNT, INGRES_SYNONYM, INGRES_SYNONYM__COMMENTS, INGRES_SYNONYM__DEPENDENCIES, INGRES_SYNONYM__DESCRIPTION, INGRES_SYNONYM__EANNOTATIONS, INGRES_SYNONYM__LABEL, INGRES_SYNONYM__NAME, INGRES_SYNONYM__PRIVILEGES, INGRES_SYNONYM__SCHEMA, INGRES_SYNONYM__TABLE_NAME, INGRES_SYNONYM_FEATURE_COUNT, INGRES_TRIGGER, INGRES_TRIGGER__ACTION_GRANULARITY, INGRES_TRIGGER__ACTION_STATEMENT, INGRES_TRIGGER__ACTION_TIME, INGRES_TRIGGER__COMMENTS, INGRES_TRIGGER__DELETE_TYPE, INGRES_TRIGGER__DEPENDENCIES, INGRES_TRIGGER__DESCRIPTION, INGRES_TRIGGER__EANNOTATIONS, INGRES_TRIGGER__INSERT_TYPE, INGRES_TRIGGER__LABEL, INGRES_TRIGGER__NAME, INGRES_TRIGGER__NEW_ROW, INGRES_TRIGGER__NEW_TABLE, INGRES_TRIGGER__OLD_ROW, INGRES_TRIGGER__OLD_TABLE, INGRES_TRIGGER__PRIVILEGES, INGRES_TRIGGER__SCHEMA, INGRES_TRIGGER__SOURCE, INGRES_TRIGGER__SUBJECT_TABLE, INGRES_TRIGGER__TIME_STAMP, INGRES_TRIGGER__TRIGGER_COLUMN, INGRES_TRIGGER__UPDATE_TYPE, INGRES_TRIGGER__WHEN, INGRES_TRIGGER_FEATURE_COUNT, INGRES_VIEW_TABLE, INGRES_VIEW_TABLE__CHECK_TYPE, INGRES_VIEW_TABLE__COLUMNS, INGRES_VIEW_TABLE__COMMENTS, INGRES_VIEW_TABLE__DEPENDENCIES, INGRES_VIEW_TABLE__DESCRIPTION, INGRES_VIEW_TABLE__EANNOTATIONS, INGRES_VIEW_TABLE__INDEX, INGRES_VIEW_TABLE__INSERTABLE, INGRES_VIEW_TABLE__LABEL, INGRES_VIEW_TABLE__NAME, INGRES_VIEW_TABLE__PRIVILEGES, INGRES_VIEW_TABLE__QUERY_EXPRESSION, INGRES_VIEW_TABLE__SCHEMA, INGRES_VIEW_TABLE__SELF_REF_COLUMN_GENERATION, INGRES_VIEW_TABLE__SOURCE, INGRES_VIEW_TABLE__SUBTABLES, INGRES_VIEW_TABLE__SUPERTABLE, INGRES_VIEW_TABLE__TRIGGERS, INGRES_VIEW_TABLE__UDT, INGRES_VIEW_TABLE__UPDATABLE, INGRES_VIEW_TABLE_FEATURE_COUNT`

Fields inherited from interface org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder
`NIL`

Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
`EOPPOSITE_FEATURE_BASE`

Method Summary
`void` `createPackageContents()` Creates the meta-model objects for the package.
`org.eclipse.emf.ecore.EReference` `getIngresDBEvent_Schema()`
`org.eclipse.emf.ecore.EClass` `getIngresDBEvent()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_CacheOption()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_CacheSize()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_DataType()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_MaximumOption()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_MinimumOption()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_OrderOption()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_SeqLength()`
`org.eclipse.emf.ecore.EAttribute` `getIngresIdentitySpecifier_SeqPrecision()`
`org.eclipse.emf.ecore.EClass` `getIngresIdentitySpecifier()`
`org.eclipse.emf.ecore.EReference` `getIngresSchema_DBEvents()`
`org.eclipse.emf.ecore.EReference` `getIngresSchema_Synonyms()`
`org.eclipse.emf.ecore.EClass` `getIngresSchema()`
`IngressqlmodelFactory` `getIngressqlmodelFactory()`
`org.eclipse.emf.ecore.EReference` `getIngresSynonym_Schema()`
`org.eclipse.emf.ecore.EAttribute` `getIngresSynonym_TableName()`
`org.eclipse.emf.ecore.EClass` `getIngresSynonym()`
`org.eclipse.emf.ecore.EReference` `getIngresTrigger_Source()`
`org.eclipse.emf.ecore.EClass` `getIngresTrigger()`
`org.eclipse.emf.ecore.EReference` `getIngresViewTable_Source()`
`org.eclipse.emf.ecore.EClass` `getIngresViewTable()`
`static IngressqlmodelPackage` `init()` Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
`void` `initializePackageContents()` Complete the initialization of the package and its meta-model.

Methods inherited from class org.eclipse.emf.ecore.impl.EPackageImpl

`basicGetESuperPackage, basicSetEFactoryInstance, eBasicRemoveFromContainerFeature, eGet, eInverseAdd, eInverseRemove, eInvoke, eIsSet, eObjectForURIFragmentSegment, eSet, eSetProxyURI, eUnset, freeze, getEClassifier, getEClassifierGen, getEClassifiers, getEFactoryInstance, getESubpackages, getESuperPackage, getExtendedMetaData, getNsPrefix, getNsURI, setEFactoryInstance, setExtendedMetaData, setNamespaceURI, setNsPrefix, setNsURI, toString`

Methods inherited from class org.eclipse.emf.ecore.impl.ENamedElementImpl
`eContents, eCrossReferences, getName, getNameGen, setName`

Methods inherited from class org.eclipse.emf.ecore.impl.EModelElementImpl
`eURIFragmentSegment, getEAnnotation, getEAnnotations`

Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
`eInternalContainer`

Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl
`dynamicGet, dynamicSet, dynamicUnset, eAdapters, eClass, eContainerFeatureID, eDeliver, eDirectResource, eIsProxy, eProxyURI, eSetClass, eSetDeliver`

Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eContainer, eContainingFeature, eContainmentFeature, eContains, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDynamicBasicRemoveFromContainer, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eInternalResource, eInverseAdd, eInverseRemove, eInvoke, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eStore, eUnset, eVirtualGet, eVirtualGet, eVirtualIsSet, eVirtualSet, eVirtualUnset`

Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
`eNotificationRequired, eNotify`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.eclipse.emf.ecore.EPackage
`getEClassifier, getEClassifiers, getEFactoryInstance, getESubpackages, getESuperPackage, getNsPrefix, getNsURI, setEFactoryInstance, setNsPrefix, setNsURI`

Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
`getName, setName`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Methods inherited from interface org.eclipse.emf.ecore.InternalEObject
`eNotificationRequired`

Field Detail

### copyright

    public static final java.lang.String copyright

  See Also:
    Constant Field Values

Method Detail

### init

    public static IngressqlmodelPackage init()

  Creates, registers, and initializes the Package for this model, and for any others upon which it depends. Simple dependencies are satisfied by calling this method on all dependent packages before doing anything else. This method drives initialization for interdependent packages directly, in parallel with this package, itself.

  Of this package and its interdependencies, all packages which have not yet been registered by their URI values are first created and registered. The packages are then initialized in two steps: meta-model objects for all of the packages are created before any are initialized, since one package's meta-model objects may refer to those of another.

  Invocation of this method will not affect any packages that have already been initialized.

  See Also:
    `IngressqlmodelPackage.eNS_URI`, `createPackageContents()`, `initializePackageContents()`

### getIngresSynonym

    public org.eclipse.emf.ecore.EClass getIngresSynonym()

  Specified by:
    `getIngresSynonym` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres Synonym'.
  See Also:
    `IngresSynonym`

### getIngresSynonym_Schema

    public org.eclipse.emf.ecore.EReference getIngresSynonym_Schema()

  Specified by:
    `getIngresSynonym_Schema` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference 'Schema'.
  See Also:
    `IngresSynonym.getSchema()`, `IngressqlmodelPackage.getIngresSynonym()`

### getIngresSynonym_TableName

    public org.eclipse.emf.ecore.EAttribute getIngresSynonym_TableName()

  Specified by:
    `getIngresSynonym_TableName` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Table Name'.
  See Also:
    `IngresSynonym.getTableName()`, `IngressqlmodelPackage.getIngresSynonym()`

### getIngresDBEvent

    public org.eclipse.emf.ecore.EClass getIngresDBEvent()

  Specified by:
    `getIngresDBEvent` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres DB Event'.
  See Also:
    `IngresDBEvent`

### getIngresDBEvent_Schema

    public org.eclipse.emf.ecore.EReference getIngresDBEvent_Schema()

  Specified by:
    `getIngresDBEvent_Schema` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference 'Schema'.
  See Also:
    `IngresDBEvent.getSchema()`, `IngressqlmodelPackage.getIngresDBEvent()`

### getIngresSchema

    public org.eclipse.emf.ecore.EClass getIngresSchema()

  Specified by:
    `getIngresSchema` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres Schema'.
  See Also:
    `IngresSchema`

### getIngresSchema_DBEvents

    public org.eclipse.emf.ecore.EReference getIngresSchema_DBEvents()

  Specified by:
    `getIngresSchema_DBEvents` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference list 'DB Events'.
  See Also:
    `IngresSchema.getDBEvents()`, `IngressqlmodelPackage.getIngresSchema()`

### getIngresSchema_Synonyms

    public org.eclipse.emf.ecore.EReference getIngresSchema_Synonyms()

  Specified by:
    `getIngresSchema_Synonyms` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference list 'Synonyms'.
  See Also:
    `IngresSchema.getSynonyms()`, `IngressqlmodelPackage.getIngresSchema()`

### getIngresViewTable

    public org.eclipse.emf.ecore.EClass getIngresViewTable()

  Specified by:
    `getIngresViewTable` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres View Table'.
  See Also:
    `IngresViewTable`

### getIngresViewTable_Source

    public org.eclipse.emf.ecore.EReference getIngresViewTable_Source()

  Specified by:
    `getIngresViewTable_Source` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference 'Source'.
  See Also:
    `IngresViewTable.getSource()`, `IngressqlmodelPackage.getIngresViewTable()`

### getIngresTrigger

    public org.eclipse.emf.ecore.EClass getIngresTrigger()

  Specified by:
    `getIngresTrigger` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres Trigger'.
  See Also:
    `IngresTrigger`

### getIngresTrigger_Source

    public org.eclipse.emf.ecore.EReference getIngresTrigger_Source()

  Specified by:
    `getIngresTrigger_Source` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the reference 'Source'.
  See Also:
    `IngresTrigger.getSource()`, `IngressqlmodelPackage.getIngresTrigger()`

### getIngresIdentitySpecifier

    public org.eclipse.emf.ecore.EClass getIngresIdentitySpecifier()

  Specified by:
    `getIngresIdentitySpecifier` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for class 'Ingres Identity Specifier'.
  See Also:
    `IngresIdentitySpecifier`

### getIngresIdentitySpecifier_DataType

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_DataType()

  Specified by:
    `getIngresIdentitySpecifier_DataType` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Data Type'.
  See Also:
    `IngresIdentitySpecifier.getDataType()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_SeqLength

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_SeqLength()

  Specified by:
    `getIngresIdentitySpecifier_SeqLength` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Seq Length'.
  See Also:
    `IngresIdentitySpecifier.getSeqLength()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_SeqPrecision

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_SeqPrecision()

  Specified by:
    `getIngresIdentitySpecifier_SeqPrecision` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Seq Precision'.
  See Also:
    `IngresIdentitySpecifier.getSeqPrecision()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_MaximumOption

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_MaximumOption()

  Specified by:
    `getIngresIdentitySpecifier_MaximumOption` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Maximum Option'.
  See Also:
    `IngresIdentitySpecifier.getMaximumOption()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_MinimumOption

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_MinimumOption()

  Specified by:
    `getIngresIdentitySpecifier_MinimumOption` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Minimum Option'.
  See Also:
    `IngresIdentitySpecifier.getMinimumOption()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_CacheSize

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_CacheSize()

  Specified by:
    `getIngresIdentitySpecifier_CacheSize` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Cache Size'.
  See Also:
    `IngresIdentitySpecifier.getCacheSize()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_CacheOption

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_CacheOption()

  Specified by:
    `getIngresIdentitySpecifier_CacheOption` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Cache Option'.
  See Also:
    `IngresIdentitySpecifier.getCacheOption()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngresIdentitySpecifier_OrderOption

    public org.eclipse.emf.ecore.EAttribute getIngresIdentitySpecifier_OrderOption()

  Specified by:
    `getIngresIdentitySpecifier_OrderOption` in interface `IngressqlmodelPackage`
  Returns:
    the meta object for the attribute 'Order Option'.
  See Also:
    `IngresIdentitySpecifier.getOrderOption()`, `IngressqlmodelPackage.getIngresIdentitySpecifier()`

### getIngressqlmodelFactory

    public IngressqlmodelFactory getIngressqlmodelFactory()

  Specified by:
    `getIngressqlmodelFactory` in interface `IngressqlmodelPackage`
  Returns:
    the factory that creates the instances of the model.

### createPackageContents

    public void createPackageContents()

  Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its first.

### initializePackageContents

    public void initializePackageContents()

  Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any invocation but its first.