package com.bergerkiller.bukkit.common.reflection.gen; import java.util.Map; import net.sf.cglib.core.Signature; import net.sf.cglib.proxy.MethodProxy; public class SuperCallbackSignature implements CallbackSignature { private final Signature superSignature; private CallbackMethod callbackInstance; public SuperCallbackSignature(Signature superSignature) { this.superSignature = superSignature; } @Override public CallbackMethod createCallback(Object instance, Map<Class<?>, Object> callbackInstances) { if (callbackInstance == null) { callbackInstance = new SuperCallbackMethod(MethodProxy.find(instance.getClass(), superSignature)); } return callbackInstance; } }