code: private static <U extends ChronoUnit> int getIndex(
          ChronoUnit unit,
          List<Item<U>> list
      ) {
  
          int low = 0;
          int high = list.size() - 1;
  
          while (low <= high) {
              int mid = (low + high) >>> 1;
              ChronoUnit midUnit = list.get(mid).getUnit();
              int cmp = StdNormalizer.compare(midUnit, unit);
  
              if (cmp < 0) {
                  low = mid + 1;
              } else if (cmp > 0) {
                  high = mid - 1;
              } else {
                  return mid; // gefunden
              }
          }
  
          return -1;
  
      }
docs: binäre Suche