private static boolean isAvailable(AnnotatedMethod method, AgentInterface destination,
RequestParams requestParams) throws SecurityException, Exception {
int mod = method.getActualMethod().getModifiers();
Access MethodAccess = method.getAnnotation(Access.class);
if (destination != null && !method.getActualMethod().getDeclaringClass().isAssignableFrom(destination.getClass()))
return false;
if (!(Modifier.isPublic(mod) && hasNamedParams(method, requestParams)))
return false;
Access ClassAccess = AnnotationUtil.get(destination != null?destination.getClass():method.getActualMethod().getDeclaringClass())
.getAnnotation(Access.class);
if (MethodAccess == null)
MethodAccess = ClassAccess;
if (MethodAccess == null)
return true;