docs: public static Collection grep(Object self, Object filter) {
          Collection answer = createSimilarOrDefaultCollection(self);
          BooleanReturningMethodInvoker bmi = new BooleanReturningMethodInvoker("isCase");
          for (Iterator iter = InvokerHelper.asIterator(self); iter.hasNext();) {
              Object object = iter.next();
              if (bmi.invoke(filter, object)) {
                  answer.add(object);
              }
          }
          return answer;
      }