protected static MBeanParameterInfo[] createParameterInfo(Method method) {
        MBeanParameterInfo[] parameters = new MBeanParameterInfo[method.getParameterTypes().length];
        for (int parameterIndex = 0; parameterIndex < parameters.length; parameterIndex++) {
            final String pType = method.getParameterTypes()[parameterIndex].getName();
            // locate parameter annotation
            Parameter parameter = getParameterAnnotation(method, parameterIndex, Parameter.class);
            Description description = getParameterAnnotation(method, parameterIndex, Description.class);
            final String pName = (parameter != null) ? parameter.value() : "p" + (parameterIndex + 1); // 1 .. n
            final String pDesc = (description != null) ? description.value() : null;
            parameters[parameterIndex] = new MBeanParameterInfo(pName, pType, pDesc);
        }
        return parameters;
    }