public static void Encode(XdrDataOutputStream stream, LedgerCloseMeta encodedLedgerCloseMeta)
 {
     stream.WriteInt((int)encodedLedgerCloseMeta.Discriminant);
     switch (encodedLedgerCloseMeta.Discriminant)
     {
     case 0:
         LedgerCloseMetaV0.Encode(stream, encodedLedgerCloseMeta.V0);
         break;
     }
 }
        public static LedgerCloseMeta Decode(XdrDataInputStream stream)
        {
            LedgerCloseMeta decodedLedgerCloseMeta = new LedgerCloseMeta();
            int             discriminant           = stream.ReadInt();

            decodedLedgerCloseMeta.Discriminant = discriminant;
            switch (decodedLedgerCloseMeta.Discriminant)
            {
            case 0:
                decodedLedgerCloseMeta.V0 = LedgerCloseMetaV0.Decode(stream);
                break;
            }
            return(decodedLedgerCloseMeta);
        }