docs: public static <T> int removeIf(final List<T> values, final Predicate<T> predicate)
      {
          int size = values.size();
          int total = 0;
  
          for (int i = 0; i < size; )
          {
              final T value = values.get(i);
              if (predicate.test(value))
              {
                  values.remove(i);
                  total++;
                  size--;
              }
              else
              {
                  i++;
              }
          }
  
          return total;
      }