code: public static long decodeLong(byte[] ba, int offset) {
      return ((((long) ba[offset + 0] << 56) + ((long) (ba[offset + 1] & 255) << 48)
          + ((long) (ba[offset + 2] & 255) << 40) + ((long) (ba[offset + 3] & 255) << 32)
          + ((long) (ba[offset + 4] & 255) << 24) + ((ba[offset + 5] & 255) << 16)
          + ((ba[offset + 6] & 255) << 8) + ((ba[offset + 7] & 255) << 0)));
    }
docs: Decode long from byte array at offset
  
  @param ba byte array
  @param offset Offset
  @return long value