package testcode.serial.groovy;
import groovy.lang.Closure;
import org.codehaus.groovy.runtime.ConversionHandler;
import java.io.Serializable;
import java.lang.reflect.Method;
public class ConvertedClosure extends ConversionHandler implements Serializable {
private String methodName;
private static final long serialVersionUID = 1162833713450835227L;
public ConvertedClosure(Closure closure, String method) {
super(closure);
this.methodName = method;
}
public ConvertedClosure(Closure closure) {
this(closure, (String)null);
}
public Object invokeCustom(Object proxy, Method method, Object[] args) throws Throwable {
return this.methodName != null && !this.methodName.equals(method.getName()) ? null : ((Closure)this.getDelegate()).call(args);
}
}