docs: public static byte[] buildRollupQualifier(final long timestamp,
                                              final int basetime,
                                              final short flags,
                                              final int aggregator_id,
                                              final RollupInterval interval) {
      final byte[] qualifier = new byte[3];
  
      final int time_seconds = (int) ((timestamp & Const.SECOND_MASK) != 0 ?
              timestamp / 1000 : timestamp);
  
      // we shouldn't have a divide by 0 here as the rollup config validator makes
      // sure the interval is positive
      int offset = (time_seconds - basetime) / interval.getIntervalSeconds();
      if (offset >= interval.getIntervals()) {
        throw new IllegalArgumentException("Offset of " + offset + " was greater "
            + "than the configured intervals " + interval.getIntervals());
      }
     
      // shift the offset over 4 bits then apply the flag
      offset = offset << Const.FLAG_BITS;
      offset = offset | flags;
      qualifier[0] = (byte) aggregator_id;
      System.arraycopy(Bytes.fromShort((short) offset), 0, qualifier, 1, 2);
  
      return qualifier;
    }