public void testSIF_Provision010()
        {
            SIF_Provision prov = new SIF_Provision();

             SIF_PublishAddObjects spao = new SIF_PublishAddObjects();
             spao.Add(new SIF_Object("Authentication"));
             prov.SIF_PublishAddObjects = spao;

             prov = (SIF_Provision)AdkObjectParseHelper.WriteParseAndReturn((SifElement)prov, Adk.SifVersion);
             spao = prov.SIF_PublishAddObjects;
             Assertion.AssertNotNull("SIF_PublishAddObjects", spao);
             Assertion.AssertEquals("spao child count", 1, spao.ChildCount);

             SIF_Object so = (SIF_Object)spao.GetChild(InfraDTD.SIF_PUBLISHADDOBJECTS_SIF_OBJECT, new string[] { "Authentication" });
             Assertion.AssertNotNull("SIF_Object", so);
        }
      public void testSIF_Provision010()
      {
         SIF_Provision prov = new SIF_Provision();

         SIF_PublishAddObjects spao = new SIF_PublishAddObjects();
         spao.Add(new SIF_Object("Authentication"));
         prov.SIF_PublishAddObjects = spao;


         prov = (SIF_Provision)AdkObjectParseHelper.WriteParseAndReturn((SifElement)prov, Adk.SifVersion);
         spao = prov.SIF_PublishAddObjects;
         Assertion.AssertNotNull("SIF_PublishAddObjects", spao);
         Assertion.AssertEquals("spao child count", 1, spao.ChildCount);


         SIF_Object so = (SIF_Object)spao.GetChild(InfraDTD.SIF_PUBLISHADDOBJECTS_SIF_OBJECT, new string[] { "Authentication" });
         Assertion.AssertNotNull("SIF_Object", so);

      }
        /* (non-Javadoc)
         * @see com.OpenADK.Library.impl.ISIFPrimitives#sifProvision(com.OpenADK.Library.IZone, com.OpenADK.Library.infra.SIF_Provision)
         */
        public SIF_Ack SifProvision(IZone zone,
                                    SIF_ProvideObjects providedObjects,
                                    SIF_SubscribeObjects subscribeObjects,
                                    SIF_PublishAddObjects publishAddObjects,
                                    SIF_PublishChangeObjects publishChangeObjects,
                                    SIF_PublishDeleteObjects publishDeleteObjects,
                                    SIF_RequestObjects requestObjects,
                                    SIF_RespondObjects respondObjects)
        {
            SIF_Provision msg = new SIF_Provision(((ZoneImpl)zone).HighestEffectiveZISVersion);

            if (providedObjects != null)
            {
                msg.SIF_ProvideObjects = providedObjects;
            }
            if (publishAddObjects != null)
            {
                msg.SIF_PublishAddObjects = publishAddObjects;
            }
            if (publishChangeObjects != null)
            {
                msg.SIF_PublishChangeObjects = publishChangeObjects;
            }
            if (publishDeleteObjects != null)
            {
                msg.SIF_PublishDeleteObjects = publishDeleteObjects;
            }
            if (subscribeObjects != null)
            {
                msg.SIF_SubscribeObjects = subscribeObjects;
            }
            if (requestObjects != null)
            {
                msg.SIF_RequestObjects = requestObjects;
            }
            if (respondObjects != null)
            {
                msg.SIF_RespondObjects = respondObjects;
            }

            return(((ZoneImpl)zone).Dispatcher.send(msg));
        }
        /* (non-Javadoc)
         * @see com.OpenADK.Library.impl.ISIFPrimitives#sifProvision(com.OpenADK.Library.IZone, com.OpenADK.Library.infra.SIF_Provision)
         */
        public SIF_Ack SifProvision(IZone zone,
                SIF_ProvideObjects providedObjects,
                SIF_SubscribeObjects subscribeObjects,
                SIF_PublishAddObjects publishAddObjects,
                SIF_PublishChangeObjects publishChangeObjects,
                SIF_PublishDeleteObjects publishDeleteObjects,
                SIF_RequestObjects requestObjects,
                SIF_RespondObjects respondObjects)
        {
            SIF_Provision msg = new SIF_Provision(((ZoneImpl)zone).HighestEffectiveZISVersion);
            if (providedObjects != null)
            {
                msg.SIF_ProvideObjects = providedObjects;
            }
            if (publishAddObjects != null)
            {
                msg.SIF_PublishAddObjects = publishAddObjects;
            }
            if (publishChangeObjects != null)
            {
                msg.SIF_PublishChangeObjects = publishChangeObjects;
            }
            if (publishDeleteObjects != null)
            {
                msg.SIF_PublishDeleteObjects = publishDeleteObjects;
            }
            if (subscribeObjects != null)
            {
                msg.SIF_SubscribeObjects = subscribeObjects;
            }
            if (requestObjects != null)
            {
                msg.SIF_RequestObjects = requestObjects;
            }
            if (respondObjects != null)
            {
                msg.SIF_RespondObjects = respondObjects;
            }

            return ((ZoneImpl)zone).Dispatcher.send(msg);
        }