code: private static final long gatherPartialLongLE(final byte[] data, final int index, final int available) {
          if(available >= 4) {
              int i = gatherIntLE(data, index);
              long l = uintToLong(i);
  
              int left = available - 4;
  
              if(left == 0) {
                  return l;
              }
  
              int i2 = gatherPartialIntLE(data, index + 4, left);
  
              l <<= (left << 3);
              l |= (long) i2;
  
              return l;
          } else {
              return (long) gatherPartialIntLE(data, index, available);
          }
      }
docs: gather a partial long from the specified index using the specified number
  of bytes into the byte array