public boolean forEach(@NotNull HashTableData table,
                           @NotNull KeyValueProcessor processor) throws IOException {
      int capacity = capacity(table);
      for (int index = 0; index < capacity; index++) {
        int key = table.entryKey(index);
        int value = table.entryValue(index);
        if (isSlotOccupied(key)) {
          assert value != NO_VALUE : "value(table[" + (index + 1) + "]) = " + NO_VALUE + ", while key(table[" + index + "]) = " + key;
          if (!processor.process(key, value)) {
            return false;
          }
        }
      }
      return true;
    }
public boolean forEach(@NotNull HashTableData table,
                           @NotNull KeyValueProcessor processor)