public override IDocument OpenDocument(IProjectItem projectItem, IProject project, bool isReadOnly) { MemoryStream memoryStream = new MemoryStream(); Encoding encoding = Encoding.UTF8; using (Stream stream = projectItem.DocumentReference.GetStream(FileAccess.Read)) { if (stream == null) { throw new FileNotFoundException(string.Format((IFormatProvider)CultureInfo.CurrentCulture, ExceptionStringTable.DocumentFileNotFound, new object[1] { (object)projectItem.DocumentReference.Path })); } byte[] numArray = new byte[(int)stream.Length]; stream.Read(numArray, 0, numArray.Length); encoding = DocumentReference.DetermineDocumentEncoding(numArray); memoryStream.Write(numArray, 0, numArray.Length); memoryStream.Position = 0L; } return(this.CreateDocument(projectItem, project, (Stream)memoryStream, encoding, isReadOnly)); }