public static SCPStatementExternalize Decode(XdrDataInputStream stream)
                {
                    SCPStatementExternalize decodedSCPStatementExternalize = new SCPStatementExternalize();

                    decodedSCPStatementExternalize.Commit = SCPBallot.Decode(stream);
                    decodedSCPStatementExternalize.NH     = Uint32.Decode(stream);
                    decodedSCPStatementExternalize.CommitQuorumSetHash = Hash.Decode(stream);
                    return(decodedSCPStatementExternalize);
                }
                public static SCPStatementConfirm Decode(XdrDataInputStream stream)
                {
                    SCPStatementConfirm decodedSCPStatementConfirm = new SCPStatementConfirm();

                    decodedSCPStatementConfirm.Ballot        = SCPBallot.Decode(stream);
                    decodedSCPStatementConfirm.NPrepared     = Uint32.Decode(stream);
                    decodedSCPStatementConfirm.NCommit       = Uint32.Decode(stream);
                    decodedSCPStatementConfirm.NH            = Uint32.Decode(stream);
                    decodedSCPStatementConfirm.QuorumSetHash = Hash.Decode(stream);
                    return(decodedSCPStatementConfirm);
                }
                public static SCPStatementPrepare Decode(XdrDataInputStream stream)
                {
                    SCPStatementPrepare decodedSCPStatementPrepare = new SCPStatementPrepare();

                    decodedSCPStatementPrepare.QuorumSetHash = Hash.Decode(stream);
                    decodedSCPStatementPrepare.Ballot        = SCPBallot.Decode(stream);
                    int PreparedPresent = stream.ReadInt();

                    if (PreparedPresent != 0)
                    {
                        decodedSCPStatementPrepare.Prepared = SCPBallot.Decode(stream);
                    }
                    int PreparedPrimePresent = stream.ReadInt();

                    if (PreparedPrimePresent != 0)
                    {
                        decodedSCPStatementPrepare.PreparedPrime = SCPBallot.Decode(stream);
                    }
                    decodedSCPStatementPrepare.NC = Uint32.Decode(stream);
                    decodedSCPStatementPrepare.NH = Uint32.Decode(stream);
                    return(decodedSCPStatementPrepare);
                }