code: public static MethodNode addDelegateInstanceMethod(ClassNode classNode, Expression delegate, MethodNode declaredMethod) {
         return addDelegateInstanceMethod(classNode, delegate, declaredMethod, null, true);
      }
docs: Adds a delegate method to the target class node where the first argument
  is to the delegate method is 'this'. In other words a method such as
  foo(Object instance, String bar) would be added with a signature of foo(String)
  and 'this' is passed to the delegate instance
  
  @param classNode The class node
  @param delegate The expression that looks up the delegate
  @param declaredMethod The declared method
  @return The added method node or null if it couldn't be added