public static PerfidixMethodInvocationException invokeMethod(final Object obj, final Class<? extends Annotation> relatedAnno, final Method meth, final Object... args) {
        try {
            meth.invoke(obj, args);
            return null;
        } catch (final IllegalArgumentException e) {
            return new PerfidixMethodInvocationException(e, meth, relatedAnno);
        } catch (final IllegalAccessException e) {
            return new PerfidixMethodInvocationException(e, meth, relatedAnno);
        } catch (final InvocationTargetException e) {
            return new PerfidixMethodInvocationException(e.getCause(), meth, relatedAnno);
        }
    }
public static PerfidixMethodInvocationException invokeMethod ( final Object obj , final Class < ? extends Annotation > relatedAnno , final Method meth , final Object ... args ) { try { meth . invoke ( obj , args ) ; return null ; } catch ( final IllegalArgumentException e ) { return new PerfidixMethodInvocationException ( e , meth , relatedAnno ) ; } catch ( final IllegalAccessException e ) { return new PerfidixMethodInvocationException ( e , meth , relatedAnno ) ; } catch ( final InvocationTargetException e ) { return new PerfidixMethodInvocationException ( e . getCause ( ) , meth , relatedAnno ) ; } }
Method to invoke a reflective invokable method.

@param obj         on which the execution takes place
@param relatedAnno related annotation for the execution
@param meth        to be executed
@param args        args for that method
@return {@link PerfidixMethodInvocationException} if invocation fails, null otherwise.