code: public static Object findResult(Object self, Object defaultResult, Closure closure) {
          Object result = findResult(self, closure);
          if (result == null) return defaultResult;
          return result;
      }
docs: Treats the object as iterable, iterating through the values it represents and returns the first non-null result obtained from calling the closure, otherwise returns the defaultResult.
  
  @param self    an Object with an iterator returning its values
  @param defaultResult an Object that should be returned if all closure results are null
  @param closure a closure that returns a non-null value when processing should stop
  @return the first non-null result of the closure, otherwise the default value
  @since 1.7.5