public static byte[] RemoveChunkFromStream(MemoryStream source, long startingOffset, long length) { int bytesRead; byte[] bytes = new byte[1024]; var ret = ParseFile.ExtractChunkToMemoryStream(source, 0, startingOffset); // append remainder source.Position = startingOffset + length; bytesRead = source.Read(bytes, 0, bytes.Length); while (bytesRead > 0) { ret.Write(bytes, 0, bytesRead); bytesRead = source.Read(bytes, 0, bytes.Length); } return(ret.ToArray()); }