[RESOLVIDO] Duvida sobre getMethod e invoke

Galera, criei um JavaBean Swing para executar algumas funções de um JInternalFrame, porém quando eu uso a API Reflect, o sistema me gera uma exceção de IllegalArgumentException dizendo que a quantidade de parâmetros que passei é inválida, então, eu gostaria de saber como uso os métods getMethod e invoke da java.lang.reflect.Method.

Eis uma parte do meu código:

        if (pobjFormulario != null) {
            Method[] objMetodos = pobjFormulario.getClass().getMethods();
            Class[] clsParam;

            try {
                for (int i = 0; i < objMetodos.length; i++) {
                    String strMetodo = objMetodos[i].getName();
                    clsParam = objMetodos[i].getParameterTypes();
                    if ("fechar".equals(strMetodo)) {
                        pintOperacao = TipoOperacao.NULO;
                        habilitaControles(pintOperacao);
                        Method objMeth = pobjFormulario.getClass().getMethod(strMetodo, clsParam);
                        Object invoke = objMeth.invoke(pobjFormulario, null); //O erro ocorre nessa linha, como utilizo isso pra executar o método da minha classe?
                        System.out.println(invoke.toString());
                        System.out.println("Método: " + strMetodo);
                        System.out.println("Parâmetro: " + clsParam[0].getName());
                        break;
                    }
                }
            } catch (NoSuchMethodException | SecurityException | IllegalAccessException | InvocationTargetException ex) {
                Logger.getLogger(BarraControles.class.getName()).log(Level.SEVERE, null, ex);
                System.out.println(ex.getMessage());
                System.out.println(ex.getCause());
            }
        }

Não consegui descobrir qual o problema, e já procurei muito na web mas não encontrei nada que me ajudasse.

Desde já agradeço a ajuda.

Leandro.

Qual a declaração do método fechar ?

    public void fechar() {
        if (pintTipoOperacao == TipoOperacao.NULO) {
            frmCadSistema.dispose();
        }
    }

Embora a spec diga que você possa passar null, eu faria o seguinte:

Object invoke = objMeth.invoke(pobjFormulario, new Object[0]);

Galera consegui resolver, o método que eu estava chamando não possuia parâmetros para a execução, a spec do método invoke informa que posso passar null no argumento, mas não funcionou (não sei o porquê), então criei um parâmetro no método do tipo inteiro e passei como argumento do método invoke um objeto do mesmo tipo do parâmetro do meu método que estou invocando, e assim funcionou.

Valeu pela ajuda.