## org.eclipse.uml2.uml.util
Class UMLUtil.PackageMerger

    java.lang.Object
      java.util.AbstractMap<K,V>
          java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>
              org.eclipse.emf.ecore.util.EcoreUtil.Copier
                  org.eclipse.uml2.uml.util.UMLUtil.PackageMerger

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>

Enclosing class:
  UMLUtil

    public static class UMLUtil.PackageMerger

extends org.eclipse.emf.ecore.util.EcoreUtil.Copier

A copier that merges the contents of packages involved in package merge relationships based on the rules defined in the UML specification.

See Also:
  Serialized Form

Nested Class Summary
`protected class` `UMLUtil.PackageMerger.BodyMatcher`
`protected class` `UMLUtil.PackageMerger.KeyMatcher`
`protected class` `UMLUtil.PackageMerger.NameMatcher`
`protected class` `UMLUtil.PackageMerger.ResultingQNameMatcher`
`protected class` `UMLUtil.PackageMerger.SourceMatcher`
`protected class` `UMLUtil.PackageMerger.StringValueMatcher`
`protected class` `UMLUtil.PackageMerger.TypeMatcher`

Field Summary
`static int` `ASSOCIATION_SPECIALIZATION` The diagnostic code for cases where an association specialization is missing.
`static int` `CAPABILITY` The diagnostic code for cases where capability information is missing.
`static int` `DIFFERENT_PROPERTY_STATICITY` The diagnostic code for cases where the staticity of merged properties does not match.
`static int` `DIFFERENT_PROPERTY_UNIQUENESS` The diagnostic code for cases where the uniqueness of merged properties does not match.
`static int` `EMPTY_UNION` The diagnostic code for cases where an empty union is detected.
`static int` `IMPLICIT_REDEFINITION` The diagnostic code for cases where an implicit redefinition is detected.
`static int` `INVALID_REDEFINITION` The diagnostic code for cases where an invalid redefinition is detected.
`static int` `INVALID_SUBSET` The diagnostic code for cases where an invalid subset is detected.
`protected java.util.Collection<Package>` `mergedPackages`
`static java.lang.String` `OPTION__ASSOCIATION_SPECIALIZATIONS` The option for handling cases where an association specialization is missing.
`static java.lang.String` `OPTION__CAPABILITIES` The option for handling cases where capability information is missing.
`static java.lang.String` `OPTION__DIFFERENT_PROPERTY_STATICITY` The option for handling cases where the staticity of merged properties does not match.
`static java.lang.String` `OPTION__DIFFERENT_PROPERTY_UNIQUENESS` The option for handling cases where the uniqueness of merged properties does not match.
`static java.lang.String` `OPTION__EMPTY_UNIONS` The option for handling cases where an empty union is detected.
`static java.lang.String` `OPTION__IMPLICIT_REDEFINITIONS` The option for handling cases where an implicit redefinition is detected.
`static java.lang.String` `OPTION__INVALID_REDEFINITIONS` The option for handling cases where an invalid redefinition is detected.
`static java.lang.String` `OPTION__INVALID_SUBSETS` The option for handling cases where an invalid subset is detected.
`static java.lang.String` `OPTION__REDUNDANT_GENERALIZATIONS` The option for handling cases where a redundant generalization is detected.
`protected Package` `receivingPackage`
`static int` `REDUNDANT_GENERALIZATION` The diagnostic code for cases where a redundant generalization is detected.
`protected java.util.Map<org.eclipse.emf.ecore.EObject,java.util.List<org.eclipse.emf.ecore.EObject>>` `resultingToMergedEObjectMap`

Fields inherited from class org.eclipse.emf.ecore.util.EcoreUtil.Copier
`resolveProxies, useOriginalReferences`

Constructor Summary
`UMLUtil.PackageMerger()`

Method Summary
`void` `clear()`
`boolean` `containsKey(java.lang.Object key)`
`boolean` `containsValue(java.lang.Object value)`
`org.eclipse.emf.ecore.EObject` `copy(org.eclipse.emf.ecore.EObject eObject)`

`

`<T> java.util.Collection<T>`

`

`copyAll(java.util.Collection<? extends T> eObjects)`

`protected void` `copyAttribute(org.eclipse.emf.ecore.EAttribute eAttribute, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EObject copyEObject)`
`protected void` `copyContainment(org.eclipse.emf.ecore.EReference eReference, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EObject copyEObject)`
`protected void` `copyReference(org.eclipse.emf.ecore.EReference eReference, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EObject copyEObject)`
`protected org.eclipse.emf.ecore.EObject` `createCopy(org.eclipse.emf.ecore.EObject eObject)`
`java.util.Set<java.util.Map.Entry<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>>` `entrySet()`
`org.eclipse.emf.ecore.EObject` `get(java.lang.Object key)`
`protected java.util.Collection<Package>` `getAllMergedPackages(Package package_)`

`protected

`<EO extends org.eclipse.emf.ecore.EObject> java.util.List<EO>`

`

`getMatchCandidates(EO eObject)`

`protected

`<EO extends org.eclipse.emf.ecore.EObject> java.util.List<EO>`

`

`getMergedEObjects(EO resultingEObject)`

`protected

`<EO extends org.eclipse.emf.ecore.EObject> EO`

`

`getPreviouslyMergedEObject(EO resultingEObject)`

`protected java.lang.String` `getResultingQName(org.eclipse.emf.ecore.EObject eObject)`
`boolean` `isEmpty()`
`java.util.Set<org.eclipse.emf.ecore.EObject>` `keySet()`
`void` `merge(Package package_, java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Merges the contents of (all of) the packages merged by the specified package using the specified options, reporting problems to the specified diagnostics, within the specified context.
`protected void` `mergeAssociation_IsDerived(Association receivingAssociation, Association mergedAssociation)`
`protected void` `mergeClassifier_IsAbstract(Classifier receivingClassifier, Classifier mergedClassifier)`
`protected void` `mergeLiteralInteger_Value(LiteralInteger receivingLiteralInteger, LiteralInteger mergedLiteralInteger)`
`protected void` `mergeLiteralUnlimitedNatural_Value(LiteralUnlimitedNatural receivingLiteralUnlimitedNatural, LiteralUnlimitedNatural mergedLiteralUnlimitedNatural)`
`protected void` `mergeMultiplicityElement_IsOrdered(MultiplicityElement receivingMultiplicityElement, MultiplicityElement mergedMultiplicityElement)`
`protected void` `mergeMultiplicityElement_IsUnique(MultiplicityElement receivingMultiplicityElement, MultiplicityElement mergedMultiplicityElement)`
`protected void` `mergeNamedElement_Visibility(NamedElement receivingNamedElement, NamedElement mergedNamedElement)`
`protected void` `mergeProperty_IsDerived(Property receivingProperty, Property mergedProperty)`
`protected void` `mergeProperty_IsDerivedUnion(Property receivingProperty, Property mergedProperty)`
`protected void` `mergeStructuralFeature_IsReadOnly(StructuralFeature receivingStructuralFeature, StructuralFeature mergedStructuralFeature)`
`protected void` `mergeTypedElement_Type(TypedElement receivingTypedElement, TypedElement mergedTypedElement)`
`protected void` `processAssociationSpecializations(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processCapabilities(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processDifferentPropertyStaticity(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processDifferentPropertyUniqueness(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processEmptyUnions(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processImplicitRedefinitions(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processInvalidRedefinitions(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processInvalidSubsets(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processOptions(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`protected void` `processRedundantGeneralizations(java.util.Map<java.lang.String,java.lang.String> options, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)`
`org.eclipse.emf.ecore.EObject` `put(org.eclipse.emf.ecore.EObject key, org.eclipse.emf.ecore.EObject value)`
`void` `putAll(java.util.Map<? extends org.eclipse.emf.ecore.EObject,? extends org.eclipse.emf.ecore.EObject> t)`
`org.eclipse.emf.ecore.EObject` `remove(java.lang.Object key)`
`int` `size()`
`java.util.Collection<org.eclipse.emf.ecore.EObject>` `values()`

Methods inherited from class org.eclipse.emf.ecore.util.EcoreUtil.Copier
`copyProxyURI, copyReferences, getTarget, getTarget`

Methods inherited from class java.util.HashMap
`clone`

Methods inherited from class java.util.AbstractMap
`equals, hashCode, toString`

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

Methods inherited from interface java.util.Map
`equals, hashCode`

Field Detail

### OPTION__DIFFERENT_PROPERTY_STATICITY

    public static final java.lang.String OPTION__DIFFERENT_PROPERTY_STATICITY

  The option for handling cases where the staticity of merged properties does not match. Supported choices are `OPTION__IGNORE` and `OPTION__REPORT`.

  See Also:
    Constant Field Values

### OPTION__DIFFERENT_PROPERTY_UNIQUENESS

    public static final java.lang.String OPTION__DIFFERENT_PROPERTY_UNIQUENESS

  The option for handling cases where the uniqueness of merged properties does not match. Supported choices are `OPTION__IGNORE` and `OPTION__REPORT`.

  See Also:
    Constant Field Values

### OPTION__REDUNDANT_GENERALIZATIONS

    public static final java.lang.String OPTION__REDUNDANT_GENERALIZATIONS

  The option for handling cases where a redundant generalization is detected. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, and `OPTION__DISCARD`.

  See Also:
    Constant Field Values

### OPTION__IMPLICIT_REDEFINITIONS

    public static final java.lang.String OPTION__IMPLICIT_REDEFINITIONS

  The option for handling cases where an implicit redefinition is detected. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### OPTION__INVALID_REDEFINITIONS

    public static final java.lang.String OPTION__INVALID_REDEFINITIONS

  The option for handling cases where an invalid redefinition is detected. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, `OPTION__DISCARD`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### OPTION__INVALID_SUBSETS

    public static final java.lang.String OPTION__INVALID_SUBSETS

  The option for handling cases where an invalid subset is detected. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, `OPTION__DISCARD`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### OPTION__EMPTY_UNIONS

    public static final java.lang.String OPTION__EMPTY_UNIONS

  The option for handling cases where an empty union is detected. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### OPTION__ASSOCIATION_SPECIALIZATIONS

    public static final java.lang.String OPTION__ASSOCIATION_SPECIALIZATIONS

  The option for handling cases where an association specialization is missing. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### OPTION__CAPABILITIES

    public static final java.lang.String OPTION__CAPABILITIES

  The option for handling cases where capability information is missing. Supported choices are `OPTION__IGNORE`, `OPTION__REPORT`, and `OPTION__PROCESS`.

  See Also:
    Constant Field Values

### DIFFERENT_PROPERTY_STATICITY

    public static final int DIFFERENT_PROPERTY_STATICITY

  The diagnostic code for cases where the staticity of merged properties does not match.

  See Also:
    Constant Field Values

### DIFFERENT_PROPERTY_UNIQUENESS

    public static final int DIFFERENT_PROPERTY_UNIQUENESS

  The diagnostic code for cases where the uniqueness of merged properties does not match.

  See Also:
    Constant Field Values

### REDUNDANT_GENERALIZATION

    public static final int REDUNDANT_GENERALIZATION

  The diagnostic code for cases where a redundant generalization is detected.

  See Also:
    Constant Field Values

### IMPLICIT_REDEFINITION

    public static final int IMPLICIT_REDEFINITION

  The diagnostic code for cases where an implicit redefinition is detected.

  See Also:
    Constant Field Values

### INVALID_REDEFINITION

    public static final int INVALID_REDEFINITION

  The diagnostic code for cases where an invalid redefinition is detected.

  See Also:
    Constant Field Values

### INVALID_SUBSET

    public static final int INVALID_SUBSET

  The diagnostic code for cases where an invalid subset is detected.

  See Also:
    Constant Field Values

### EMPTY_UNION

    public static final int EMPTY_UNION

  The diagnostic code for cases where an empty union is detected.

  See Also:
    Constant Field Values

### ASSOCIATION_SPECIALIZATION

    public static final int ASSOCIATION_SPECIALIZATION

  The diagnostic code for cases where an association specialization is missing.

  See Also:
    Constant Field Values

### CAPABILITY

    public static final int CAPABILITY

  The diagnostic code for cases where capability information is missing.

  See Also:
    Constant Field Values

### receivingPackage

    protected Package receivingPackage

### mergedPackages

    protected java.util.Collection<Package> mergedPackages

### resultingToMergedEObjectMap

    protected final java.util.Map<org.eclipse.emf.ecore.EObject,java.util.List<org.eclipse.emf.ecore.EObject>> resultingToMergedEObjectMap

Constructor Detail

### UMLUtil.PackageMerger

    public UMLUtil.PackageMerger()

Method Detail

### clear

    public void clear()

  Specified by:
    `clear` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `clear` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### containsKey

    public boolean containsKey(java.lang.Object key)

  Specified by:
    `containsKey` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `containsKey` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### containsValue

    public boolean containsValue(java.lang.Object value)

  Specified by:
    `containsValue` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `containsValue` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### entrySet

    public java.util.Set<java.util.Map.Entry<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>> entrySet()

  Specified by:
    `entrySet` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `entrySet` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### get

    public org.eclipse.emf.ecore.EObject get(java.lang.Object key)

  Specified by:
    `get` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `get` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### isEmpty

    public boolean isEmpty()

  Specified by:
    `isEmpty` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `isEmpty` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### keySet

    public java.util.Set<org.eclipse.emf.ecore.EObject> keySet()

  Specified by:
    `keySet` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `keySet` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### put

    public org.eclipse.emf.ecore.EObject put(org.eclipse.emf.ecore.EObject key,
                                             org.eclipse.emf.ecore.EObject value)

  Specified by:
    `put` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `put` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### putAll

    public void putAll(java.util.Map<? extends org.eclipse.emf.ecore.EObject,? extends org.eclipse.emf.ecore.EObject> t)

  Specified by:
    `putAll` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `putAll` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### remove

    public org.eclipse.emf.ecore.EObject remove(java.lang.Object key)

  Specified by:
    `remove` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `remove` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### size

    public int size()

  Specified by:
    `size` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `size` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### values

    public java.util.Collection<org.eclipse.emf.ecore.EObject> values()

  Specified by:
    `values` in interface `java.util.Map<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`
  Overrides:
    `values` in class `java.util.HashMap<org.eclipse.emf.ecore.EObject,org.eclipse.emf.ecore.EObject>`

### getMatchCandidates

    protected <EO extends org.eclipse.emf.ecore.EObject> java.util.List<EO> getMatchCandidates(EO eObject)

### getMergedEObjects

    protected <EO extends org.eclipse.emf.ecore.EObject> java.util.List<EO> getMergedEObjects(EO resultingEObject)

### getPreviouslyMergedEObject

    protected <EO extends org.eclipse.emf.ecore.EObject> EO getPreviouslyMergedEObject(EO resultingEObject)

### getResultingQName

    protected java.lang.String getResultingQName(org.eclipse.emf.ecore.EObject eObject)

### mergeAssociation_IsDerived

    protected void mergeAssociation_IsDerived(Association receivingAssociation,
                                              Association mergedAssociation)

### mergeClassifier_IsAbstract

    protected void mergeClassifier_IsAbstract(Classifier receivingClassifier,
                                              Classifier mergedClassifier)

### mergeLiteralInteger_Value

    protected void mergeLiteralInteger_Value(LiteralInteger receivingLiteralInteger,
                                             LiteralInteger mergedLiteralInteger)

### mergeLiteralUnlimitedNatural_Value

    protected void mergeLiteralUnlimitedNatural_Value(LiteralUnlimitedNatural receivingLiteralUnlimitedNatural,
                                                      LiteralUnlimitedNatural mergedLiteralUnlimitedNatural)

### mergeMultiplicityElement_IsOrdered

    protected void mergeMultiplicityElement_IsOrdered(MultiplicityElement receivingMultiplicityElement,
                                                      MultiplicityElement mergedMultiplicityElement)

### mergeMultiplicityElement_IsUnique

    protected void mergeMultiplicityElement_IsUnique(MultiplicityElement receivingMultiplicityElement,
                                                     MultiplicityElement mergedMultiplicityElement)

### mergeNamedElement_Visibility

    protected void mergeNamedElement_Visibility(NamedElement receivingNamedElement,
                                                NamedElement mergedNamedElement)

### mergeProperty_IsDerived

    protected void mergeProperty_IsDerived(Property receivingProperty,
                                           Property mergedProperty)

### mergeProperty_IsDerivedUnion

    protected void mergeProperty_IsDerivedUnion(Property receivingProperty,
                                                Property mergedProperty)

### mergeStructuralFeature_IsReadOnly

    protected void mergeStructuralFeature_IsReadOnly(StructuralFeature receivingStructuralFeature,
                                                     StructuralFeature mergedStructuralFeature)

### copyAttribute

    protected void copyAttribute(org.eclipse.emf.ecore.EAttribute eAttribute,
                                 org.eclipse.emf.ecore.EObject eObject,
                                 org.eclipse.emf.ecore.EObject copyEObject)

  Overrides:
    `copyAttribute` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### copyContainment

    protected void copyContainment(org.eclipse.emf.ecore.EReference eReference,
                                   org.eclipse.emf.ecore.EObject eObject,
                                   org.eclipse.emf.ecore.EObject copyEObject)

  Overrides:
    `copyContainment` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### mergeTypedElement_Type

    protected void mergeTypedElement_Type(TypedElement receivingTypedElement,
                                          TypedElement mergedTypedElement)

### copyReference

    protected void copyReference(org.eclipse.emf.ecore.EReference eReference,
                                 org.eclipse.emf.ecore.EObject eObject,
                                 org.eclipse.emf.ecore.EObject copyEObject)

  Overrides:
    `copyReference` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### createCopy

    protected org.eclipse.emf.ecore.EObject createCopy(org.eclipse.emf.ecore.EObject eObject)

  Overrides:
    `createCopy` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### copy

    public org.eclipse.emf.ecore.EObject copy(org.eclipse.emf.ecore.EObject eObject)

  Overrides:
    `copy` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### copyAll

    public <T> java.util.Collection<T> copyAll(java.util.Collection<? extends T> eObjects)

  Overrides:
    `copyAll` in class `org.eclipse.emf.ecore.util.EcoreUtil.Copier`

### getAllMergedPackages

    protected java.util.Collection<Package> getAllMergedPackages(Package package_)

### processDifferentPropertyStaticity

    protected void processDifferentPropertyStaticity(java.util.Map<java.lang.String,java.lang.String> options,
                                                     org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                     java.util.Map<java.lang.Object,java.lang.Object> context)

### processDifferentPropertyUniqueness

    protected void processDifferentPropertyUniqueness(java.util.Map<java.lang.String,java.lang.String> options,
                                                      org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                      java.util.Map<java.lang.Object,java.lang.Object> context)

### processImplicitRedefinitions

    protected void processImplicitRedefinitions(java.util.Map<java.lang.String,java.lang.String> options,
                                                org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                java.util.Map<java.lang.Object,java.lang.Object> context)

### processInvalidRedefinitions

    protected void processInvalidRedefinitions(java.util.Map<java.lang.String,java.lang.String> options,
                                               org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                               java.util.Map<java.lang.Object,java.lang.Object> context)

### processInvalidSubsets

    protected void processInvalidSubsets(java.util.Map<java.lang.String,java.lang.String> options,
                                         org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                         java.util.Map<java.lang.Object,java.lang.Object> context)

### processEmptyUnions

    protected void processEmptyUnions(java.util.Map<java.lang.String,java.lang.String> options,
                                      org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                      java.util.Map<java.lang.Object,java.lang.Object> context)

### processRedundantGeneralizations

    protected void processRedundantGeneralizations(java.util.Map<java.lang.String,java.lang.String> options,
                                                   org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                   java.util.Map<java.lang.Object,java.lang.Object> context)

### processAssociationSpecializations

    protected void processAssociationSpecializations(java.util.Map<java.lang.String,java.lang.String> options,
                                                     org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                     java.util.Map<java.lang.Object,java.lang.Object> context)

### processCapabilities

    protected void processCapabilities(java.util.Map<java.lang.String,java.lang.String> options,
                                       org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> context)

### processOptions

    protected void processOptions(java.util.Map<java.lang.String,java.lang.String> options,
                                  org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)

### merge

    public void merge(Package package_,
                      java.util.Map<java.lang.String,java.lang.String> options,
                      org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                      java.util.Map<java.lang.Object,java.lang.Object> context)

  Merges the contents of (all of) the packages merged by the specified package using the specified options, reporting problems to the specified diagnostics, within the specified context.

  Parameters:
    `package_` - The receiving package.
    `options` - The options to use.
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.