package org.aikodi.chameleon.test.stub.declaration;

import org.aikodi.chameleon.core.declaration.CommonDeclarationContainingDeclaration;
import org.aikodi.chameleon.core.declaration.Declaration;
import org.aikodi.chameleon.core.declaration.Signature;
import org.aikodi.chameleon.core.declaration.SimpleNameSignature;
import org.aikodi.chameleon.core.element.Element;
import org.aikodi.chameleon.core.lookup.LookupException;
import org.aikodi.chameleon.core.lookup.SelectionResult;

public class StubDeclarationContainingDeclarationContainer extends CommonDeclarationContainingDeclaration {

  protected StubDeclarationContainingDeclarationContainer() {
    super();
  }

  public StubDeclarationContainingDeclarationContainer(String name) {
    super(new SimpleNameSignature(name));
  }

  protected Element cloneSelf() {
    return new StubDeclarationContainingDeclarationContainer();
  }

}

@@ -46,16 +46,40 @@
 ation;%0A%0A
+import java.util.List;%0A%0A
 import o
@@ -119,35 +119,8 @@
 ion.
-CommonDeclarationContaining
 Decl
@@ -188,64 +188,33 @@
 tion
-;%0Aimport org.aikodi.chameleon.core.declaration.Signature
+ContainingDeclarationImpl
 ;%0Aim
@@ -359,202 +359,411 @@
 eon.
-core.lookup.LookupException;%0Aimport org.aikodi.chameleon.core.lookup.SelectionResult;%0A%0Apublic class StubDeclarationContainingDeclarationContainer extends CommonDeclarationContainingDeclaration %7B
+util.association.Multi;%0A%0Apublic class StubDeclarationContainingDeclarationContainer extends DeclarationContainingDeclarationImpl %7B%0A%0A  private Multi%3CDeclaration%3E _declarations = new Multi%3CDeclaration%3E(this);%0A  %0A  public void addDeclaration(Declaration d) %7B%0A    add(_declarations,d);%0A  %7D%0A%0A  public List%3C? extends Declaration%3E locallyDeclaredDeclarations() %7B%0A    return _declarations.getOtherEnds();%0A  %7D%0A  
 %0A%0A  
@@ -832,16 +832,20 @@
   super(
+null
 );%0A  %7D%0A%0A

move field down to remove super class