public static byte[] readBytes(final String name, final InputStream in, final int length) throws IOException {
        return readBytes(name, in, length, name + " could not be read.");
    }
Reads eight bytes from the specified input stream, adjust for byte order, and return a long integer.

@param name      a descriptive identifier used for diagnostic purposes
@param in        a valid input stream
@param exception application-defined message to be used for constructing an exception if an error condition is triggered.
@param byteOrder the order in which the InputStream marshals data
@return a long integer interpreted from next 8 bytes in the InputStream
@throws IOException in the event of a non-recoverable error, such as an attempt to read past the end of file.
src/main/java/org/apache/commons/imaging/common/BinaryFunctions.java