public static READDIRPLUS3Response Deserialize(XDR xdr)
        {
            int status = xdr.ReadInt();

            xdr.ReadBoolean();
            Nfs3FileAttributes postOpDirAttr = Nfs3FileAttributes.Deserialize(xdr);
            long cookieVerf = 0;
            AList <READDIRPLUS3Response.EntryPlus3> entries = new AList <READDIRPLUS3Response.EntryPlus3
                                                                         >();

            READDIRPLUS3Response.DirListPlus3 dirList = null;
            if (status == Nfs3Status.Nfs3Ok)
            {
                cookieVerf = xdr.ReadHyper();
                while (xdr.ReadBoolean())
                {
                    READDIRPLUS3Response.EntryPlus3 e = READDIRPLUS3Response.EntryPlus3.Deseralize(xdr
                                                                                                   );
                    entries.AddItem(e);
                }
                bool eof = xdr.ReadBoolean();
                READDIRPLUS3Response.EntryPlus3[] allEntries = new READDIRPLUS3Response.EntryPlus3
                                                               [entries.Count];
                Collections.ToArray(entries, allEntries);
                dirList = new READDIRPLUS3Response.DirListPlus3(allEntries, eof);
            }
            return(new READDIRPLUS3Response(status, postOpDirAttr, cookieVerf, dirList));
        }
 public READDIRPLUS3Response(int status, Nfs3FileAttributes postOpDirAttr, long cookieVerf
                             , READDIRPLUS3Response.DirListPlus3 dirListPlus)
     : base(status)
 {
     this.postOpDirAttr = postOpDirAttr;
     this.cookieVerf    = cookieVerf;
     this.dirListPlus   = dirListPlus;
 }