code: public static <T,U> T identity(
              @DelegatesTo.Target("self") U self,
              @DelegatesTo(value=DelegatesTo.Target.class,
                      target="self",
                      strategy=Closure.DELEGATE_FIRST)
              @ClosureParams(FirstParam.class)
                      Closure<T> closure) {
          return DefaultGroovyMethods.with(self, closure);
      }
docs: Allows the closure to be called for the object reference self.
  Synonym for 'with()'.
  
  @param self    the object to have a closure act upon
  @param closure the closure to call on the object
  @return result of calling the closure
  @see #with(Object, Closure)
  @since 1.0