Preconditions.checkNotNull(method, "Method of the action cannot be null.");
this.method = method;
this.weight = weight;
this.executionContext = executionContext;
AsyncExecute asyncAnnotation = method.getAnnotation(AsyncExecute.class);
this.isAsync = asyncAnnotation!=null;
this.timeout = asyncAnnotation!=null ? asyncAnnotation.timeout() : -1;
logExecTime = ReflectUtils.isAnnotatedWith(method, LogExecTime.class);
if(!logExecTime) {
logExecTime = method.getDeclaringClass().getAnnotation(LogExecTime.class) != null;
}