public static PDFObject DefaultCopyHandler(Document dstDoc, PDFObject src) { PDFIndirect indirect1; PDFStream stream1; if (src == null) { return(Library.CreateNull()); } if ((src is PDFIndirect)) { indirect1 = dstDoc.Indirects.New(); indirect1.Direct = ((PDFDirect)Document.DefaultCopyHandler(dstDoc, src.Direct)); return(indirect1); } PDFDirect direct1 = null; PDFDirect direct2 = ((PDFDirect)src); PDFObjectType type1 = src.PDFType; switch (type1) { case PDFObjectType.tPDFNull: { return(Library.CreateNull()); } case PDFObjectType.tPDFInteger: { return(Library.CreateInteger(((PDFInteger)direct2).Value)); } case PDFObjectType.tPDFFixed: { return(Library.CreateFixed(((PDFFixed)direct2).Value)); } case PDFObjectType.tPDFBoolean: { return(Library.CreateBoolean(((PDFBoolean)direct2).Value)); } case PDFObjectType.tPDFName: { return(Library.CreateName(((PDFName)direct2).Value)); } case PDFObjectType.tPDFString: { return(Library.CreateString(((PDFString)direct2).Value)); } case PDFObjectType.tPDFDict: case PDFObjectType.tPDFArray: { goto Label_0108; } case PDFObjectType.tPDFStream: { stream1 = ((PDFStream)direct2); return(Library.CreateStream(stream1.Decrypt(), ((PDFDict)dstDoc.CloneObject(stream1.Dict)), false)); } } Label_0108: return(Library.CreateDirect(src.PDFType)); }