@@ -0,0 +1,1806 @@
+/*%0A * This file is part of BukkitCommons.%0A *%0A * Copyright (C) 2014 AgentTroll%0A *%0A * This program is free software: you can redistribute it and/or modify%0A * it under the terms of the GNU General Public License as published by%0A * the Free Software Foundation, either version 2 of the License, or%0A * (at your option) any later version.%0A *%0A * This program is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the%0A * GNU General Public License for more details.%0A *%0A * You should have received a copy of the GNU General Public License%0A * along with this program.  If not, see %3Chttp://www.gnu.org/licenses/%3E.%0A *%0A * Contact: woodyc40 (at) gmail (dot) com%0A */%0A%0Apackage com.gmail.woodyc40.commons.reflection;%0A%0Aimport java.lang.reflect.InvocationTargetException;%0Aimport java.lang.reflect.Method;%0Aimport com.gmail.woodyc40.commons.reflection.MethodManager;%0Aimport sun.reflect.*;%0A%0A/**%0A * Actual implementation of %7B@link com.gmail.woodyc40.commons.reflection.MethodManager%7D used for fast reflection%0A *%0A * @author AgentTroll%0A * @version 1.0%0A */%0Apublic interface MethodImpl implements MethodManager %7B // TODO cache%0A    private final Method method = null;%0A%0A    /**%0A     * %7B@inheritDoc%7D%0A     */%0A    public Object invoke(Object inst, Object%5B%5D args) %7B%0A        ReflectionFactory factory = ReflectionFactory.getReflectionFactory();%0A        MethodAccessor method = factory.newMethodAccessor(method); // TODO Pull up to constructor!%0A        try %7B%0A            method.invoke(inst, args);%0A        %7D catch (IllegalArgumentException %7C InvocationTargetException x) %7B%0A            x.printStackTrace();%0A        %7D%0A    %7D%0A%0A    /**%0A     * %7B@inheritDoc%7D%0A     */%0A    public Method raw() %7B%0A        return method;%0A    %7D%0A%7D%0A

Create MethodImpl.java