You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by hu...@apache.org on 2006/09/18 14:21:21 UTC

svn commit: r447385 [3/4] - in /incubator/woden/trunk/java: src/org/apache/woden/internal/ src/org/apache/woden/internal/wsdl20/ src/org/apache/woden/internal/wsdl20/extensions/http/ src/org/apache/woden/internal/wsdl20/extensions/soap/ src/org/apache/...

Modified: incubator/woden/trunk/java/test/org/apache/woden/internal/wsdl20/validation/WSDLComponentValidatorTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/internal/wsdl20/validation/WSDLComponentValidatorTest.java?view=diff&rev=447385&r1=447384&r2=447385
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/internal/wsdl20/validation/WSDLComponentValidatorTest.java (original)
+++ incubator/woden/trunk/java/test/org/apache/woden/internal/wsdl20/validation/WSDLComponentValidatorTest.java Mon Sep 18 05:21:19 2006
@@ -29,9 +29,6 @@
 import org.apache.woden.internal.ErrorReporterImpl;
 import org.apache.woden.internal.wsdl20.BindingFaultImpl;
 import org.apache.woden.internal.wsdl20.BindingFaultReferenceImpl;
-import org.apache.woden.internal.wsdl20.BindingImpl;
-import org.apache.woden.internal.wsdl20.BindingMessageReferenceImpl;
-import org.apache.woden.internal.wsdl20.BindingOperationImpl;
 import org.apache.woden.internal.wsdl20.Constants;
 import org.apache.woden.internal.wsdl20.DescriptionImpl;
 import org.apache.woden.internal.wsdl20.ElementDeclarationImpl;
@@ -64,12 +61,19 @@
 import org.apache.woden.wsdl20.Property;
 import org.apache.woden.wsdl20.Service;
 import org.apache.woden.wsdl20.enumeration.MessageLabel;
+import org.apache.woden.wsdl20.xml.BindingElement;
 import org.apache.woden.wsdl20.xml.BindingFaultElement;
+import org.apache.woden.wsdl20.xml.BindingFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
 import org.apache.woden.wsdl20.xml.BindingOperationElement;
 import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.apache.woden.wsdl20.xml.EndpointElement;
 import org.apache.woden.wsdl20.xml.InterfaceElement;
 import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
 import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
+import org.apache.woden.wsdl20.xml.ServiceElement;
 
 /**
  * A test class to test the assertion tests in the WSDLComponentValidator.
@@ -132,7 +136,7 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
 	  if(!val.testAssertionInterface0027(interfac, reporter))
 	  {
 	    fail("The testAssertionInterface0027 method returned false for an interface that extends no other interfaces.");
@@ -150,26 +154,22 @@
       desc.setTargetNamespace(namespace1);
       
       // Create an interface element, name it and add to the description element
-      InterfaceElement interfac = desc.createInterfaceElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
       
       // Create another interface element, name it and add to the description element
-      InterfaceElement interfac2 = desc.createInterfaceElement();
+      InterfaceElement interfac2 = desc.addInterfaceElement();
       interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
 
       interfac.addExtendedInterfaceName(interfac2.getName());
       
-      InterfaceElement interfac3 = desc.createInterfaceElement();
+      InterfaceElement interfac3 = desc.addInterfaceElement();
       interfac3.setName(name3);
-      desc.addInterfaceElement(interfac3);
       
       interfac.addExtendedInterfaceName(interfac3.getName());
       
-      InterfaceElement interfac4 = desc.createInterfaceElement();
+      InterfaceElement interfac4 = desc.addInterfaceElement();
       interfac4.setName(name4);
-      desc.addInterfaceElement(interfac4);
       
       interfac2.addExtendedInterfaceName(interfac4.getName());
         
@@ -190,15 +190,12 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-	  InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+	  InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
       interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
-      InterfaceImpl interfac2 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac2 = (InterfaceImpl)desc.addInterfaceElement();
       interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
-      InterfaceImpl interfac3 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac3 = (InterfaceImpl)desc.addInterfaceElement();
       interfac3.setName(name3);
-      desc.addInterfaceElement(interfac3);
       interfac.addExtendedInterfaceName(interfac.getName());
       interfac.addExtendedInterfaceName(interfac2.getName());
       interfac.addExtendedInterfaceName(interfac3.getName());
@@ -219,15 +216,12 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
       interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
-      InterfaceImpl interfac2 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac2 = (InterfaceImpl)desc.addInterfaceElement();
       interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
-      InterfaceImpl interfac3 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac3 = (InterfaceImpl)desc.addInterfaceElement();
       interfac3.setName(name3);
-      desc.addInterfaceElement(interfac3);
       interfac.addExtendedInterfaceName(interfac2.getName());
       interfac.addExtendedInterfaceName(interfac3.getName());
       interfac2.addExtendedInterfaceName(interfac.getName());
@@ -269,9 +263,8 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
 	  if(!val.testAssertionInterface0030(new Interface[]{interfac}, reporter))
 	  {
 	    fail("The testAssertionInterface0030 method returned false for an list of interfaces that contains only one interface.");
@@ -286,15 +279,12 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
       interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
-      InterfaceImpl interfac2 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac2 = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
-      InterfaceImpl interfac3 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac3 = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac3.setName(name3);
-      desc.addInterfaceElement(interfac3);
 	  
 	  Interface[] interfaces = new Interface[]{interfac, interfac2, interfac3};
 	  
@@ -312,15 +302,12 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
-      InterfaceImpl interfac2 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac2 = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
-      InterfaceImpl interfac3 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac3 = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac3.setName(name1);
-      desc.addInterfaceElement(interfac3);
 	  
 	  Interface[] interfaces = new Interface[]{interfac, interfac2, interfac3};
 	  
@@ -339,15 +326,12 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
       interfac.setName(name1);
-      desc.addInterfaceElement(interfac);
-      InterfaceImpl interfac2 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac2 = (InterfaceImpl)desc.addInterfaceElement();
       interfac2.setName(name2);
-      desc.addInterfaceElement(interfac2);
-      InterfaceImpl interfac3 = (InterfaceImpl)desc.createInterfaceElement();
+      InterfaceImpl interfac3 = (InterfaceImpl)desc.addInterfaceElement();
       interfac3.setName(new NCName("name1"));
-      desc.addInterfaceElement(interfac3);
           
       Interface[] interfaces = new Interface[]{interfac, interfac2, interfac3};
 	  
@@ -420,14 +404,12 @@
       descElem.setTargetNamespace(new URI(interfaceName.getNamespaceURI()));
       
       // Create and add an interface element to the description element
-      InterfaceElement interfaceElem = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(interfaceElem);
+      InterfaceElement interfaceElem = descElem.addInterfaceElement();
       
 	  interfaceElem.setName(new NCName(interfaceName.getLocalPart()));
       
       // Create and add an interface operation element to the interface element
-	  InterfaceOperationElement interfaceOperationElem = new InterfaceOperationImpl();
-      interfaceElem.addInterfaceOperationElement(interfaceOperationElem);
+      InterfaceOperationElement interfaceOperationElem = interfaceElem.addInterfaceOperationElement();
       
 	  interfaceOperationElem.setName(new NCName("interfaceoperation"));
       
@@ -491,10 +473,8 @@
       // InterfaceOperationElement.getName() method fetches the targetNamespace from the
       // enclosing DescriptionElement.
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
-      InterfaceOperationElement ioe = descElem.createInterfaceOperationElement();
-      ie.addInterfaceOperationElement(ioe);
+      InterfaceElement ie = descElem.addInterfaceElement();
+      InterfaceOperationElement ioe = ie.addInterfaceOperationElement();
       InterfaceOperation interfaceOperation = (InterfaceOperation)ioe;
       
       ioe.setName(name1);
@@ -512,20 +492,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
           
-	  InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation);
+	  InterfaceOperationElement interfaceOperation = ie.addInterfaceOperationElement();
 	  interfaceOperation.setName(name1);
-	  InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation2);
+	  InterfaceOperationElement interfaceOperation2 = ie.addInterfaceOperationElement();
 	  interfaceOperation2.setName(name2);
-	  InterfaceOperationImpl interfaceOperation3 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation3);
+	  InterfaceOperationElement interfaceOperation3 = ie.addInterfaceOperationElement();
 	  interfaceOperation3.setName(name3);
 	  
-	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{interfaceOperation, interfaceOperation2, interfaceOperation3};
+	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{(InterfaceOperationImpl)interfaceOperation, (InterfaceOperationImpl)interfaceOperation2, (InterfaceOperationImpl)interfaceOperation3};
 	  
 	  if(!val.testAssertionInterfaceOperation0035(interfaceOperations, reporter))
 	  {
@@ -541,20 +517,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation);
-	  interfaceOperation.setName(name1);
-	  InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation2);
-	  interfaceOperation2.setName(name2);
-	  InterfaceOperationImpl interfaceOperation3 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation3);
-	  interfaceOperation3.setName(name1);
+      InterfaceOperationElement interfaceOperation = ie.addInterfaceOperationElement();
+      interfaceOperation.setName(name1);
+      InterfaceOperationElement interfaceOperation2 = ie.addInterfaceOperationElement();
+      interfaceOperation2.setName(name2);
+      InterfaceOperationElement interfaceOperation3 = ie.addInterfaceOperationElement();
+      interfaceOperation3.setName(name1);
 	  
-	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{interfaceOperation, interfaceOperation2, interfaceOperation3};
+	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{(InterfaceOperationImpl)interfaceOperation, (InterfaceOperationImpl)interfaceOperation2, (InterfaceOperationImpl)interfaceOperation3};
 	  
 	  if(val.testAssertionInterfaceOperation0035(interfaceOperations, reporter))
 	  {
@@ -571,20 +543,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation);
-	  interfaceOperation.setName(name1);
-	  InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation2);
-	  interfaceOperation2.setName(name2);
-	  InterfaceOperationImpl interfaceOperation3 = new InterfaceOperationImpl();
-      ie.addInterfaceOperationElement(interfaceOperation3);
+      InterfaceOperationElement interfaceOperation = ie.addInterfaceOperationElement();
+      interfaceOperation.setName(name1);
+      InterfaceOperationElement interfaceOperation2 = ie.addInterfaceOperationElement();
+      interfaceOperation2.setName(name2);
+      InterfaceOperationElement interfaceOperation3 = ie.addInterfaceOperationElement();
 	  interfaceOperation3.setName(new NCName("name1"));
 	  
-	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{interfaceOperation, interfaceOperation2, interfaceOperation3};
+	  InterfaceOperation[] interfaceOperations = new InterfaceOperation[]{(InterfaceOperationImpl)interfaceOperation, (InterfaceOperationImpl)interfaceOperation2, (InterfaceOperationImpl)interfaceOperation3};
 	  
 	  if(val.testAssertionInterfaceOperation0035(interfaceOperations, reporter))
 	  {
@@ -621,13 +589,11 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault);
+	  InterfaceFaultElement interfaceFault = ie.addInterfaceFaultElement();
 	  interfaceFault.setName(name1);
-	  if(!val.testAssertionInterfaceFault0032(new InterfaceFault[]{interfaceFault}, reporter))
+	  if(!val.testAssertionInterfaceFault0032(new InterfaceFault[]{(InterfaceFaultImpl)interfaceFault}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFault0032 method returned false for an interface fault that is the only interface fault defined.");
 	  }
@@ -641,20 +607,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault);
+      InterfaceFaultElement interfaceFault = ie.addInterfaceFaultElement();
 	  interfaceFault.setName(name1);
-	  InterfaceFaultImpl interfaceFault2 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault2);
+      InterfaceFaultElement interfaceFault2 = ie.addInterfaceFaultElement();
 	  interfaceFault2.setName(name2);
-	  InterfaceFaultImpl interfaceFault3 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault3);
+      InterfaceFaultElement interfaceFault3 = ie.addInterfaceFaultElement();
 	  interfaceFault3.setName(name3);
 	  
-	  InterfaceFault[] interfaceFaults = new InterfaceFault[]{interfaceFault, interfaceFault2, interfaceFault3};
+	  InterfaceFault[] interfaceFaults = new InterfaceFault[]{(InterfaceFaultImpl)interfaceFault, (InterfaceFaultImpl)interfaceFault2, (InterfaceFaultImpl)interfaceFault3};
 	  
 	  if(!val.testAssertionInterfaceFault0032(interfaceFaults, reporter))
 	  {
@@ -670,20 +632,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault);
-	  interfaceFault.setName(name1);
-	  InterfaceFaultImpl interfaceFault2 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault2);
-	  interfaceFault2.setName(name2);
-	  InterfaceFaultImpl interfaceFault3 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault3);
-	  interfaceFault3.setName(name1);
-	  
-	  InterfaceFault[] interfaceFaults = new InterfaceFault[]{interfaceFault, interfaceFault2, interfaceFault3};
+      InterfaceFaultElement interfaceFault = ie.addInterfaceFaultElement();
+      interfaceFault.setName(name1);
+      InterfaceFaultElement interfaceFault2 = ie.addInterfaceFaultElement();
+      interfaceFault2.setName(name2);
+      InterfaceFaultElement interfaceFault3 = ie.addInterfaceFaultElement();
+      interfaceFault3.setName(name1);
+      
+      InterfaceFault[] interfaceFaults = new InterfaceFault[]{(InterfaceFaultImpl)interfaceFault, (InterfaceFaultImpl)interfaceFault2, (InterfaceFaultImpl)interfaceFault3};
 	  
 	  if(val.testAssertionInterfaceFault0032(interfaceFaults, reporter))
 	  {
@@ -700,20 +658,16 @@
 	try
 	{
       DescriptionElement descElem = new DescriptionImpl();
-      InterfaceElement ie = descElem.createInterfaceElement();
-      descElem.addInterfaceElement(ie);
+      InterfaceElement ie = descElem.addInterfaceElement();
       
-	  InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault);
-	  interfaceFault.setName(name1);
-	  InterfaceFaultImpl interfaceFault2 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault2);
-	  interfaceFault2.setName(name2);
-	  InterfaceFaultImpl interfaceFault3 = new InterfaceFaultImpl();
-      ie.addInterfaceFaultElement(interfaceFault3);
+      InterfaceFaultElement interfaceFault = ie.addInterfaceFaultElement();
+      interfaceFault.setName(name1);
+      InterfaceFaultElement interfaceFault2 = ie.addInterfaceFaultElement();
+      interfaceFault2.setName(name2);
+      InterfaceFaultElement interfaceFault3 = ie.addInterfaceFaultElement();
 	  interfaceFault3.setName(new NCName("name1"));
 	  
-	  InterfaceFault[] interfaceFaults = new InterfaceFault[]{interfaceFault, interfaceFault2, interfaceFault3};
+      InterfaceFault[] interfaceFaults = new InterfaceFault[]{(InterfaceFaultImpl)interfaceFault, (InterfaceFaultImpl)interfaceFault2, (InterfaceFaultImpl)interfaceFault3};
 	  
 	  if(val.testAssertionInterfaceFault0032(interfaceFaults, reporter))
 	  {
@@ -737,13 +691,11 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = (InterfaceImpl)desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
+      InterfaceImpl interfac = (InterfaceImpl)desc.addInterfaceElement();
 	  interfac.setName(new NCName("interfacename"));
-	  InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
-      interfac.addInterfaceFaultElement(interfaceFault);
-	  interfaceFault.setName(new NCName("interfaceoperation"));
-	  if(!val.testAssertionInterfaceFault0028(interfaceFault, interfac, reporter))
+      InterfaceFaultElement interfaceFault = interfac.addInterfaceFaultElement();
+      interfaceFault.setName(new NCName("interfaceoperation"));
+	  if(!val.testAssertionInterfaceFault0028((InterfaceFaultImpl)interfaceFault, interfac, reporter))
 	  {
 	    fail("The testAssertionInterfaceFault0028 method returned false for an interface fault with the same namespace as the containing interface.");
 	  }
@@ -791,18 +743,15 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+	  InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_ANY);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
 
       desc.getInterfaces(); //init Interface's ref to its Description
       
-      if(!val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+      if(!val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned false for an interface message reference with the message content model #any and an empty element declaration.");
 	  }
@@ -820,18 +769,15 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
               
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_NONE);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
 
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+	  if(!val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned false for an interface message reference with the message content model #none and an empty element declaration.");
 	  }
@@ -849,19 +795,16 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
       
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_ANY);
 	  interfaceMessageReference.setElementName(name1);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
 
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+	  if(val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned true for an interface message reference with the message content model #any and a non-empty element declaration.");
 	  }
@@ -879,19 +822,16 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_NONE);
 	  interfaceMessageReference.setElementName(name1);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+	  if(val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned true for an interface message reference with the message content model #none and a non-empty element declaration.");
 	  }
@@ -908,19 +848,16 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
               
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+	  InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_OTHER);
 	  interfaceMessageReference.setElementName(name1);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+	  if(!val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned false for an interface message reference with the message content model #other and a non-empty element declaration.");
 	  }
@@ -937,19 +874,16 @@
       ElementDeclarationImpl ed = new ElementDeclarationImpl();
       ed.setName(name1);
       desc.addElementDeclaration(ed);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-	  InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = oper.addInterfaceMessageReferenceElement();
 	  interfaceMessageReference.setMessageContentModel(Constants.NMTOKEN_ELEMENT);
       interfaceMessageReference.setElementName(name1);
-      oper.addInterfaceMessageReferenceElement(interfaceMessageReference);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceMessageReference0041(interfaceMessageReference, reporter))
+	  if(!val.testAssertionInterfaceMessageReference0041((InterfaceMessageReferenceImpl)interfaceMessageReference, reporter))
 	  {
 	    fail("The testAssertionInterfaceMessageReference0041 method returned false for an interface message reference with the message content model #element and a non-empty element declaration.");
 	  }
@@ -1062,22 +996,19 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-	  InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+	  InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
       
-	  InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+	  InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
 	  faultReference.setRef(name1QN);
 	  faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
+
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for an interface fault reference that is the only interface fault reference defined.");
 	  }
@@ -1092,29 +1023,23 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceFaultElement fault2 = desc.createInterfaceFaultElement();
+      InterfaceFaultElement fault2 = interfac.addInterfaceFaultElement();
       fault2.setName(name2);
-      interfac.addInterfaceFaultElement(fault2);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-	  InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+	  InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
 	  faultReference.setRef(name1QN);
 	  faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
-	  InterfaceFaultReferenceImpl faultReference2 = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference2 = oper.addInterfaceFaultReferenceElement();
 	  faultReference2.setRef(name2QN);
 	  faultReference2.setMessageLabel(MessageLabel.OUT);
-      oper.addInterfaceFaultReferenceElement(faultReference2);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference, faultReference2}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference, (InterfaceFaultReferenceImpl)faultReference2}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for two interface fault references that have different faults and message labels.");
 	  }
@@ -1129,26 +1054,21 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-	  InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
-	  faultReference.setRef(name1QN);
-	  faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
-	  InterfaceFaultReferenceImpl faultReference2 = new InterfaceFaultReferenceImpl();
-	  faultReference2.setRef(name1QN);
-	  faultReference2.setMessageLabel(MessageLabel.OUT);
-      oper.addInterfaceFaultReferenceElement(faultReference2);
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
+      faultReference.setRef(name1QN);
+      faultReference.setMessageLabel(MessageLabel.IN);
+      InterfaceFaultReferenceElement faultReference2 = oper.addInterfaceFaultReferenceElement();
+      faultReference2.setRef(name1QN);
+      faultReference2.setMessageLabel(MessageLabel.OUT);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference, faultReference2}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference, (InterfaceFaultReferenceImpl)faultReference2}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for two interface fault references that have the same fault but different message labels.");
 	  }
@@ -1163,29 +1083,23 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceFaultElement fault2 = desc.createInterfaceFaultElement();
+      InterfaceFaultElement fault2 = interfac.addInterfaceFaultElement();
       fault2.setName(name2);
-      interfac.addInterfaceFaultElement(fault2);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
               
-	  InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
-	  faultReference.setRef(name1QN);
-	  faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
-	  InterfaceFaultReferenceImpl faultReference2 = new InterfaceFaultReferenceImpl();
-	  faultReference2.setRef(name2QN);
-	  faultReference2.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference2);
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
+      faultReference.setRef(name1QN);
+      faultReference.setMessageLabel(MessageLabel.IN);
+      InterfaceFaultReferenceElement faultReference2 = oper.addInterfaceFaultReferenceElement();
+      faultReference2.setRef(name2QN);
+      faultReference2.setMessageLabel(MessageLabel.IN);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference, faultReference2}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference, (InterfaceFaultReferenceImpl)faultReference2}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for two interface fault references that have different faults but the same message labels.");
 	  }
@@ -1201,26 +1115,21 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
-      interfac.addInterfaceFaultElement(fault);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-      InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
       faultReference.setRef(name1QN);
       faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
-      InterfaceFaultReferenceImpl faultReference2 = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference2 = oper.addInterfaceFaultReferenceElement();
       faultReference2.setRef(name1QN);
       faultReference2.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference2);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference, faultReference2}, reporter))
+	  if(val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference, (InterfaceFaultReferenceImpl)faultReference2}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned true for two interface fault references that have the same fault and message label.");
 	  }
@@ -1235,21 +1144,17 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
-      
-      InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
+
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
       faultReference.setRef(name1QN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for an interface fault references with a null message labels.");
 	  }
@@ -1264,18 +1169,15 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
       
-      InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
       faultReference.setMessageLabel(MessageLabel.IN);
-      oper.addInterfaceFaultReferenceElement(faultReference);
       
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference}, reporter))
+	  if(!val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned false for ano interface fault reference that has a null fault.");
 	  }
@@ -1292,29 +1194,23 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceElement interfac = desc.createInterfaceElement();
-      desc.addInterfaceElement(interfac);
-      InterfaceFaultElement fault = desc.createInterfaceFaultElement();
+      InterfaceElement interfac = desc.addInterfaceElement();
+      InterfaceFaultElement fault = interfac.addInterfaceFaultElement();
       fault.setName(name1);
-      interfac.addInterfaceFaultElement(fault);
-      InterfaceOperationElement oper = desc.createInterfaceOperationElement();
-      interfac.addInterfaceOperationElement(oper);
+      InterfaceOperationElement oper = interfac.addInterfaceOperationElement();
           
-      InterfaceFaultReferenceImpl faultReference = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference = oper.addInterfaceFaultReferenceElement();
       faultReference.setRef(name1QN);
       faultReference.setMessageLabel(MessageLabel.IN);
-      InterfaceFaultReferenceImpl faultReference2 = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference2 = oper.addInterfaceFaultReferenceElement();
       faultReference2.setRef(name1QN);
       faultReference2.setMessageLabel(MessageLabel.IN);
-      InterfaceFaultReferenceImpl faultReference3 = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement faultReference3 = oper.addInterfaceFaultReferenceElement();
       faultReference3.setMessageLabel(MessageLabel.OUT);
-      oper.addInterfaceFaultReferenceElement(faultReference);
-      oper.addInterfaceFaultReferenceElement(faultReference3);
-      oper.addInterfaceFaultReferenceElement(faultReference2);
-      
+
       desc.getInterfaces(); //init Interface's ref to its Description
       
-	  if(val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{faultReference, faultReference3, faultReference2}, reporter))
+	  if(val.testAssertionInterfaceFaultReference0045(new InterfaceFaultReference[]{(InterfaceFaultReferenceImpl)faultReference, (InterfaceFaultReferenceImpl)faultReference3, (InterfaceFaultReferenceImpl)faultReference2}, reporter))
 	  {
 	    fail("The testAssertionInterfaceFaultReference0045 method returned true for two interface fault references that have the same fault and message label and a third interface fault reference that has a null fault and is defined second.");
 	  }
@@ -1754,9 +1650,8 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-	  BindingImpl binding = new BindingImpl();
-      binding.setName(name1);
-      desc.addBindingElement(binding);
+      BindingElement bindingEl = desc.addBindingElement();
+      bindingEl.setName(name1);
 	  if(!val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned false for a binding with no interface, operation, or faults specified.");
@@ -1772,13 +1667,11 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-	  BindingImpl binding = new BindingImpl();
+	  BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned false for a binding with an interface and no operation or faults specified.");
@@ -1795,15 +1688,12 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationElement bindingOperation = new BindingOperationImpl();
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  if(!val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned false for a binding with an interface and an operation specified.");
@@ -1820,15 +1710,12 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingFaultElement bindingFault = new BindingFaultImpl();
-      binding.addBindingFaultElement(bindingFault);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
+      BindingFaultElement bindingFault = binding.addBindingFaultElement();
 	  if(!val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned false for a binding with an interface and a fault specified.");
@@ -1845,17 +1732,13 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingFaultElement bindingFault = new BindingFaultImpl();
-      BindingOperationElement bindingOperation = new BindingOperationImpl();
-      binding.addBindingFaultElement(bindingFault);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
+      BindingFaultElement bindingFault = binding.addBindingFaultElement();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  if(!val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned false for a binding with an interface and an operation and a fault specified.");
@@ -1872,11 +1755,9 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name1);
-      BindingOperationElement bindingOperation = new BindingOperationImpl();
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addBindingElement(binding);
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  if(val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned true for a binding with an operation and no interface.");
@@ -1893,11 +1774,9 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name1);
-	  BindingFaultElement bindingFault = new BindingFaultImpl();
-      binding.addBindingFaultElement(bindingFault);
-      desc.addBindingElement(binding);
+      BindingFaultElement bindingFault = binding.addBindingFaultElement();
 	  if(val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned true for a binding with a fault and no interface.");
@@ -1913,13 +1792,10 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name1);
-      BindingFaultElement bindingFault = new BindingFaultImpl();
-      BindingOperationElement bindingOperation = new BindingOperationImpl();
-      binding.addBindingFaultElement(bindingFault);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addBindingElement(binding);
+      BindingFaultElement bindingFault = binding.addBindingFaultElement();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  if(val.testAssertionBinding0054(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0054 method returned true for a binding with an operation and a fault and no interface.");
@@ -1941,9 +1817,10 @@
     // Test that the assertion returns true for a binding with an absolute type.
 	try
 	{
-	  BindingImpl binding = new BindingImpl();
+      DescriptionImpl desc = new DescriptionImpl();
+	  BindingElement binding = desc.addBindingElement();
 	  binding.setType(new URI("http://www.sample.org"));
-	  if(!val.testAssertionBinding0056(binding, reporter))
+	  if(!val.testAssertionBinding0056(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0056 method returned false for a binding with an absolute type.");
 	  }
@@ -1962,10 +1839,9 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-	  BindingImpl binding = new BindingImpl();
-      desc.addBindingElement(binding);
+	  BindingElement binding = desc.addBindingElement();
 	  binding.setType(new URI("sample.org"));
-	  if(val.testAssertionBinding0056(binding, reporter))
+	  if(val.testAssertionBinding0056(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0056 method returned true for a binding with a relative type.");
 	  }
@@ -1983,8 +1859,9 @@
 	// caught be schema validation.
 	try
 	{
-	  BindingImpl binding = new BindingImpl();
-	  if(!val.testAssertionBinding0056(binding, reporter))
+      DescriptionImpl desc = new DescriptionImpl();
+	  BindingElement binding = desc.addBindingElement();
+	  if(!val.testAssertionBinding0056(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0056 method returned false for a binding with a null type.");
 	  }
@@ -2018,12 +1895,11 @@
     // Test that the assertion returns true for a list of bindings that only contains one binding.
 	try
 	{
-      DescriptionElement desc = new DescriptionImpl();
+      DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-	  BindingImpl binding = new BindingImpl();
-      desc.addBindingElement(binding);
+	  BindingElement binding = desc.addBindingElement();
 	  binding.setName(name1);
-	  if(!val.testAssertionBinding0057(new Binding[]{binding}, reporter))
+	  if(!val.testAssertionBinding0057(desc.getBindings(), reporter))
 	  {
 	    fail("The testAssertionBinding0057 method returned false for an list of bindings that contains only one binding.");
 	  }
@@ -2036,19 +1912,16 @@
 	// Test that the assertion returns true for a list of bindings that contains no duplicate names.
 	try
 	{
-      DescriptionElement desc = new DescriptionImpl();
+      DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-	  BindingImpl binding = new BindingImpl();
-      desc.addBindingElement(binding);
+	  BindingElement binding = desc.addBindingElement();
 	  binding.setName(name1);
-	  BindingImpl binding2 = new BindingImpl();
-      desc.addBindingElement(binding2);      
+      BindingElement binding2 = desc.addBindingElement();
 	  binding2.setName(name2);
-	  BindingImpl binding3 = new BindingImpl();
-      desc.addBindingElement(binding3);
+      BindingElement binding3 = desc.addBindingElement();
 	  binding3.setName(name3);
 	  
-	  Binding[] bindings = new Binding[]{binding, binding2, binding3};
+	  Binding[] bindings = desc.getBindings();
 	  
 	  if(!val.testAssertionBinding0057(bindings, reporter))
 	  {
@@ -2063,19 +1936,16 @@
 	// Test that the assertion returns false for two bindings that are defined with the same QName object.
 	try
 	{
-      DescriptionElement desc = new DescriptionImpl();
+      DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      BindingImpl binding = new BindingImpl();
-      desc.addBindingElement(binding);
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name1);
-      BindingImpl binding2 = new BindingImpl();
-      desc.addBindingElement(binding2);      
+      BindingElement binding2 = desc.addBindingElement();
       binding2.setName(name2);
-      BindingImpl binding3 = new BindingImpl();
-      desc.addBindingElement(binding3);
+      BindingElement binding3 = desc.addBindingElement();
 	  binding3.setName(name1);
 	  
-	  Binding[] bindings = new Binding[]{binding, binding2, binding3};
+	  Binding[] bindings = desc.getBindings();
 	  
 	  if(val.testAssertionBinding0057(bindings, reporter))
 	  {
@@ -2091,19 +1961,16 @@
 	// different QName objects.
 	try
 	{
-      DescriptionElement desc = new DescriptionImpl();
+      DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      BindingImpl binding = new BindingImpl();
-      desc.addBindingElement(binding);
+      BindingElement binding = desc.addBindingElement();
 	  binding.setName(name1);
-	  BindingImpl binding2 = new BindingImpl();
-      desc.addBindingElement(binding2);
+      BindingElement binding2 = desc.addBindingElement();
       binding2.setName(name2);
-	  BindingImpl binding3 = new BindingImpl();
-      desc.addBindingElement(binding3);
+      BindingElement binding3 = desc.addBindingElement();
 	  binding3.setName(new NCName("name1"));
 	  
-	  Binding[] bindings = new Binding[]{binding, binding2, binding3};
+	  Binding[] bindings = desc.getBindings();
 	  
 	  if(val.testAssertionBinding0057(bindings, reporter))
 	  {
@@ -2128,9 +1995,8 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name1);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with no defined interface.");
@@ -2146,13 +2012,11 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with an interface with no operations.");
@@ -2168,14 +2032,12 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      binding.addBindingOperationElement(new BindingOperationImpl());
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with an interface with no operations and one binding operation defined.");
@@ -2191,20 +2053,16 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-	  InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name2);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-	  BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  bindingOperation.setRef(name2QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with an interface with one operation and one binding operation defined.");
@@ -2221,17 +2079,14 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name2);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned true for a binding with an interface with one operation and no binding operation defined.");
@@ -2247,24 +2102,19 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceImpl interfac2 = new InterfaceImpl();
+      InterfaceElement interfac2 = desc.addInterfaceElement();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac2.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
 	  binding.setInterfaceName(name1QN);
-	  BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  bindingOperation.setRef(name3QN);
       
-      interfac2.addInterfaceOperationElement(interfaceOperation);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with an interface with one extended operation and one binding operation defined.");
@@ -2281,21 +2131,17 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceImpl interfac2 = new InterfaceImpl();
+      InterfaceElement interfac2 = desc.addInterfaceElement();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac2.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
       
-      interfac2.addInterfaceOperationElement(interfaceOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned true for a binding with an interface with one extended operation and no binding operation defined.");
@@ -2311,30 +2157,23 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
       InterfaceImpl interfac2 = new InterfaceImpl();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation2 = interfac2.addInterfaceOperationElement();
       interfaceOperation2.setName(name4);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingOperationImpl bindingOperation2 = new BindingOperationImpl();
+      BindingOperationElement bindingOperation2 = binding.addBindingOperationElement();
       bindingOperation2.setRef(name4QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfac2.addInterfaceOperationElement(interfaceOperation2);
-      binding.addBindingOperationElement(bindingOperation);
-      binding.addBindingOperationElement(bindingOperation2);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned false for a binding with an interface with one defined operation and one extended operation and two binding operations defined.");
@@ -2351,27 +2190,21 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceImpl interfac2 = new InterfaceImpl();
+      InterfaceElement interfac2 = desc.addInterfaceElement();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation2 = interfac2.addInterfaceOperationElement();
       interfaceOperation2.setName(name4);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfac2.addInterfaceOperationElement(interfaceOperation2);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned true for a binding with an interface with one defined operation and one extended operation and one binding operation defined for the defined operation.");
@@ -2388,27 +2221,21 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
       InterfaceImpl interfac2 = new InterfaceImpl();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation2 = interfac2.addInterfaceOperationElement();
       interfaceOperation2.setName(name4);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name4QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfac2.addInterfaceOperationElement(interfaceOperation2);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned true for a binding with an interface with one defined operation and one inherited operation and one binding operation defined for the inherited operation.");
@@ -2427,24 +2254,19 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
       interfac.addExtendedInterfaceName(name2QN);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceImpl interfac2 = new InterfaceImpl();
+      InterfaceElement interfac2 = desc.addInterfaceElement();
       interfac2.setName(name2);
-      InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation2 = interfac2.addInterfaceOperationElement();
       interfaceOperation2.setName(name4);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfac2.addInterfaceOperationElement(interfaceOperation2);
-      desc.addInterfaceElement(interfac);
-      desc.addInterfaceElement(interfac2);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBinding0055(desc.getBindings()[0], reporter))
 	  {
 	    fail("The testAssertionBinding0055 method returned true for a binding with an interface with one defined operation and one inherited operation and no binding operations defined.");
@@ -2484,20 +2306,16 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name2);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-	  BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
 	  bindingOperation.setRef(name2QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      binding.addBindingOperationElement(bindingOperation);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBindingOperation0059(desc.getBindings()[0].getBindingOperations(), reporter))
 	  {
 	    fail("The testAssertionBindingOperation0059 method returned false with one valid binding operation defined.");
@@ -2514,26 +2332,20 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceOperationImpl interfaceOperation2 = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation2 = interfac.addInterfaceOperationElement();
       interfaceOperation2.setName(name4);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingOperationImpl bindingOperation2 = new BindingOperationImpl();
+      BindingOperationElement bindingOperation2 = binding.addBindingOperationElement();
       bindingOperation2.setRef(name4QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfac.addInterfaceOperationElement(interfaceOperation2);
-      binding.addBindingOperationElement(bindingOperation);
-      binding.addBindingOperationElement(bindingOperation2);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBindingOperation0059(desc.getBindings()[0].getBindingOperations(), reporter))
 	  {
 	    fail("The testAssertionBindingOperation0059 method returned false with two valid binding operations defined.");
@@ -2551,23 +2363,18 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingOperationImpl bindingOperation2 = new BindingOperationImpl();
+      BindingOperationElement bindingOperation2 = binding.addBindingOperationElement();
       bindingOperation2.setRef(name3QN);
       
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      binding.addBindingOperationElement(bindingOperation);
-      binding.addBindingOperationElement(bindingOperation2);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBindingOperation0059(desc.getBindings()[0].getBindingOperations(), reporter))
 	  {
 	    fail("The testAssertionBindingOperation0059 method returned true with two binding operations defined with the same interface operation.");
@@ -2603,26 +2410,21 @@
 	try
 	{
       DescriptionImpl desc = new DescriptionImpl();
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = interfaceOperation.addInterfaceMessageReferenceElement();
       interfaceMessageReference.setMessageLabel(MessageLabel.IN);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingMessageReferenceImpl bindingMessageReference = new BindingMessageReferenceImpl();
+
+      BindingMessageReferenceElement bindingMessageReference = bindingOperation.addBindingMessageReferenceElement();
       bindingMessageReference.setMessageLabel(MessageLabel.IN);
           
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfaceOperation.addInterfaceMessageReferenceElement(interfaceMessageReference);
-      binding.addBindingOperationElement(bindingOperation);
-      bindingOperation.addBindingMessageReferenceElement(bindingMessageReference);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBindingMessageReference0060(desc.getBindings()[0].getBindingOperations()[0].getBindingMessageReferences(), reporter))
 	  {
 	    fail("The testAssertionBindingMessageReference0060 method returned false with one valid binding message reference defined.");
@@ -2639,32 +2441,24 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = interfaceOperation.addInterfaceMessageReferenceElement();
       interfaceMessageReference.setMessageLabel(MessageLabel.IN);
-      InterfaceMessageReferenceImpl interfaceMessageReference2 = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference2 = interfaceOperation.addInterfaceMessageReferenceElement();
       interfaceMessageReference2.setMessageLabel(MessageLabel.OUT);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingMessageReferenceImpl bindingMessageReference = new BindingMessageReferenceImpl();
+      BindingMessageReferenceElement bindingMessageReference = bindingOperation.addBindingMessageReferenceElement();
       bindingMessageReference.setMessageLabel(MessageLabel.IN);
-      BindingMessageReferenceImpl bindingMessageReference2 = new BindingMessageReferenceImpl();
+      BindingMessageReferenceElement bindingMessageReference2 = bindingOperation.addBindingMessageReferenceElement();
       bindingMessageReference2.setMessageLabel(MessageLabel.OUT);
           
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfaceOperation.addInterfaceMessageReferenceElement(interfaceMessageReference);
-      interfaceOperation.addInterfaceMessageReferenceElement(interfaceMessageReference2);
-      binding.addBindingOperationElement(bindingOperation);
-      bindingOperation.addBindingMessageReferenceElement(bindingMessageReference);
-      bindingOperation.addBindingMessageReferenceElement(bindingMessageReference2);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBindingMessageReference0060(desc.getBindings()[0].getBindingOperations()[0].getBindingMessageReferences(), reporter))
 	  {
 	    fail("The testAssertionBindingMessageReference0060 method returned false with two valid binding message references defined.");
@@ -2682,29 +2476,22 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name3);
-      InterfaceMessageReferenceImpl interfaceMessageReference = new InterfaceMessageReferenceImpl();
+      InterfaceMessageReferenceElement interfaceMessageReference = interfaceOperation.addInterfaceMessageReferenceElement();
       interfaceMessageReference.setMessageLabel(MessageLabel.IN);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name3QN);
-      BindingMessageReferenceImpl bindingMessageReference = new BindingMessageReferenceImpl();
+      BindingMessageReferenceElement bindingMessageReference = bindingOperation.addBindingMessageReferenceElement();
       bindingMessageReference.setMessageLabel(MessageLabel.IN);
-      BindingMessageReferenceImpl bindingMessageReference2 = new BindingMessageReferenceImpl();
+      BindingMessageReferenceElement bindingMessageReference2 = bindingOperation.addBindingMessageReferenceElement();
       bindingMessageReference2.setMessageLabel(MessageLabel.IN);
           
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfaceOperation.addInterfaceMessageReferenceElement(interfaceMessageReference);
-      binding.addBindingOperationElement(bindingOperation);
-      bindingOperation.addBindingMessageReferenceElement(bindingMessageReference);
-      bindingOperation.addBindingMessageReferenceElement(bindingMessageReference2);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(val.testAssertionBindingMessageReference0060(desc.getBindings()[0].getBindingOperations()[0].getBindingMessageReferences(), reporter))
 	  {
 	    fail("The testAssertionBindingMessageReference0060 method returned true with two binding message references defined with the same interface message reference.");
@@ -2741,31 +2528,25 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
+      InterfaceFaultElement interfaceFault = interfac.addInterfaceFaultElement();
       interfaceFault.setName(name3);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name4);
-      InterfaceFaultReferenceImpl interfaceFaultReference = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement interfaceFaultReference = interfaceOperation.addInterfaceFaultReferenceElement();
       interfaceFaultReference.setMessageLabel(MessageLabel.IN);
       interfaceFaultReference.setRef(name3QN);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();
       binding.setName(name2);
       binding.setInterfaceName(name1QN);
-      BindingOperationImpl bindingOperation = new BindingOperationImpl();
+      BindingOperationElement bindingOperation = binding.addBindingOperationElement();
       bindingOperation.setRef(name4QN);
-      BindingFaultReferenceImpl bindingFaultReference = new BindingFaultReferenceImpl();
+      BindingFaultReferenceElement bindingFaultReference = bindingOperation.addBindingFaultReferenceElement();
+
       bindingFaultReference.setMessageLabel(MessageLabel.IN);
       bindingFaultReference.setRef(name3QN);
           
-      interfac.addInterfaceFaultElement(interfaceFault);
-      interfac.addInterfaceOperationElement(interfaceOperation);
-      interfaceOperation.addInterfaceFaultReferenceElement(interfaceFaultReference);
-      binding.addBindingOperationElement(bindingOperation);
-      bindingOperation.addBindingFaultReferenceElement(bindingFaultReference);
-      desc.addInterfaceElement(interfac);
-      desc.addBindingElement(binding);
 	  if(!val.testAssertionBindingFaultReference0061(desc.getBindings()[0].getBindingOperations()[0].getBindingFaultReferences(), reporter))
 	  {
 	    fail("The testAssertionBindingFaultReference0061 method returned false with one valid binding fault reference defined.");
@@ -2782,39 +2563,30 @@
 	{
       DescriptionImpl desc = new DescriptionImpl();
       desc.setTargetNamespace(namespace1);
-      InterfaceImpl interfac = new InterfaceImpl();
+      InterfaceElement interfac = desc.addInterfaceElement();
       interfac.setName(name1);
-      InterfaceFaultImpl interfaceFault = new InterfaceFaultImpl();
+      InterfaceFaultElement interfaceFault = interfac.addInterfaceFaultElement();
       interfaceFault.setName(name3);
-      InterfaceOperationImpl interfaceOperation = new InterfaceOperationImpl();
+      InterfaceOperationElement interfaceOperation = interfac.addInterfaceOperationElement();
       interfaceOperation.setName(name4);
-      InterfaceFaultReferenceImpl interfaceFaultReference = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement interfaceFaultReference = interfaceOperation.addInterfaceFaultReferenceElement();
       interfaceFaultReference.setMessageLabel(MessageLabel.IN);
       interfaceFaultReference.setRef(name3QN);
-      InterfaceFaultReferenceImpl interfaceFaultReference2 = new InterfaceFaultReferenceImpl();
+      InterfaceFaultReferenceElement interfaceFaultReference2 = interfaceOperation.addInterfaceFaultReferenceElement();
       interfaceFaultReference2.setMessageLabel(MessageLabel.OUT);
       interfaceFaultReference2.setRef(name3QN);
-      BindingImpl binding = new BindingImpl();
+      BindingElement binding = desc.addBindingElement();

[... 377 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org