public static Object invokeStaticClass(Class<?> staticClass, String methodName, Object[] args, Class... parameterTypes) {
	Method method = null;
	try {
	    method = staticClass.getMethod(methodName, parameterTypes);
	} catch (SecurityException e) {
	    log.error("Can't get method " + methodName, e);
	    return null;
	} catch (NoSuchMethodException e) {
	    log.error("Can't get method " + methodName, e);
	    return null;
	}

	try {
	    return method.invoke(null, args);
	} catch (IllegalArgumentException e) {
	    log.error("Can't call method " + methodName, e);
	} catch (IllegalAccessException e) {
	    log.error("Can't call method " + methodName, e);
	} catch (InvocationTargetException e) {
	    if(e.getTargetException() instanceof IllegalArgumentException) {
		log.info("Flag does not exist " + args[0]);
	    } else {
		log.error("Can't call method " + methodName, e);
	    }
	}

	return null;
    }