public void bind(Object target) {
        if (target instanceof Method) {
            this.bind = true;
            types = ((Method) target).getParameterTypes();
            this.values = new Object[types.length];
        } else {
            this.bind = true;
            types = new Class[]{target.getClass()};
            this.values = new Object[1];
            this.values[0] = target;
        }
    }