code: public static long getLong(ByteBuffer buf, int index) {
          return buf.order() == BIG_ENDIAN ? getLongB(buf, index) : getLongL(buf, index);
      }
docs: Reads an long value from the buffer starting at the given index relative to the current
  position() of the buffer, without mutating the buffer in any way (so it's thread safe).