private static ItemDataBox CreateItemDataBox(ImageGridMetadata imageGridMetadata, IByteArrayPool arrayPool) { ImageGridDescriptor imageGridDescriptor = new ImageGridDescriptor(imageGridMetadata); byte[] dataBoxBuffer = new byte[imageGridDescriptor.GetSize()]; MemoryStream stream = null; try { stream = new MemoryStream(dataBoxBuffer); using (BigEndianBinaryWriter writer = new BigEndianBinaryWriter(stream, leaveOpen: false, arrayPool)) { stream = null; // The ImageGridDescriptor is shared between the color and alpha image. imageGridDescriptor.Write(writer); } } finally { stream?.Dispose(); } return(new ItemDataBox(dataBoxBuffer)); }