code: public static Object find(Object self, Closure closure) {
          BooleanClosureWrapper bcw = new BooleanClosureWrapper(closure);
          for (Iterator iter = InvokerHelper.asIterator(self); iter.hasNext();) {
              Object value = iter.next();
              if (bcw.call(value)) {
                  return value;
              }
          }
          return null;
      }
docs: Finds the first value matching the closure condition.
  
  <pre class="groovyTestCase">
  def numbers = [1, 2, 3]
  def result = numbers.find { it {@code >} 1}
  assert result == 2
  </pre>
  
  @param self    an Object with an iterator returning its values
  @param closure a closure condition
  @return the first Object found or null if none was found
  @since 1.0