docs: public void add(int[] positions) {
      SortedSet<Integer> list = new TreeSet<>();
      for (int p : positions) {
        list.add(p);
      }
      if (mtasPositionType.equals(POSITION_SINGLE)) {
        mtasPositionType = POSITION_SET;
        list.add(mtasPositionStart);
      } else if (mtasPositionType.equals(POSITION_RANGE)) {
        mtasPositionType = POSITION_SET;
        for (int i = mtasPositionStart; i <= mtasPositionEnd; i++) {
          list.add(i);
        }
      } else if (mtasPositionType.equals(POSITION_SET)) {
        for (int p : mtasPositionList) {
          list.add(p);
        }
      }
      mtasPositionList = ArrayUtils
          .toPrimitive(list.toArray(new Integer[list.size()]));
      mtasPositionStart = list.first();
      mtasPositionEnd = list.last();
      if (list.size() == 1) {
        mtasPositionType = POSITION_SINGLE;
        mtasPositionList = null;
      } else if (list.size() == (1 + mtasPositionEnd - mtasPositionStart)) {
        mtasPositionType = POSITION_RANGE;
        mtasPositionList = null;
      }
    }