public static long readLong(ArrayView source, int position) {
        return (long) (source.get(position) & 0xFF) << 56
                | (long) (source.get(position + 1) & 0xFF) << 48
                | (long) (source.get(position + 2) & 0xFF) << 40
                | (long) (source.get(position + 3) & 0xFF) << 32
                | (long) (source.get(position + 4) & 0xFF) << 24
                | (source.get(position + 5) & 0xFF) << 16
                | (source.get(position + 6) & 0xFF) << 8
                | (source.get(position + 7) & 0xFF);
    }
public static long readLong ( ArrayView source , int position ) { return ( long ) ( source . get ( position ) & 0xFF ) << 56 | ( long ) ( source . get ( position + 1 ) & 0xFF ) << 48 | ( long ) ( source . get ( position + 2 ) & 0xFF ) << 40 | ( long ) ( source . get ( position + 3 ) & 0xFF ) << 32 | ( long ) ( source . get ( position + 4 ) & 0xFF ) << 24 | ( source . get ( position + 5 ) & 0xFF ) << 16 | ( source . get ( position + 6 ) & 0xFF ) << 8 | ( source . get ( position + 7 ) & 0xFF ) ; }
Reads a 64-bit long from the given ArrayView starting at the given position.

@param source   The ArrayView to read from.
@param position The position in the ArrayView to start reading at.
@return The read number.