docs: public static <T, N extends IntervalTreeNode<T, N>> void searchMtasTreeWithIntervalTree(
        Collection<Integer> additionalIds, IntervalTree<T, N> intervalTree,
        IndexInput in, long ref, long objectRefApproxOffset) throws IOException {
      ArrayList<IntervalItem<T, N>> checkList = new ArrayList<IntervalItem<T, N>>();
      AtomicBoolean isSinglePoint = new AtomicBoolean(false);
      AtomicBoolean isStoreAdditionalId = new AtomicBoolean(false);
      AtomicLong nodeRefApproxOffset = new AtomicLong(-1);
      checkList.add(new IntervalItem<T, N>(
          getMtasTreeItem(ref, isSinglePoint, isStoreAdditionalId,
              nodeRefApproxOffset, in, objectRefApproxOffset),
          intervalTree.getRoot()));
      do {
        IntervalItem<T, N> checkItem = checkList.remove(checkList.size() - 1);
        searchMtasTreeWithIntervalTree(additionalIds, checkItem, in,
            isSinglePoint, isStoreAdditionalId, objectRefApproxOffset,
            nodeRefApproxOffset, checkList);
      } while (checkList.size() > 0);
    }