@AroundInvoke
public Object restrictAccessBasedOnTime(InvocationContext ctx) throws Exception {
InterceptionOrderTracker.getMethodsInterceptedList().add(ctx.getMethod().getName());
InterceptionOrderTracker.getInterceptedByList().add(this.getClass().getSimpleName());
if (!isWorkingHours()) {
throw new AccessDeniedException("You are not allowed to access the method at this time");
}
return ctx.proceed();
}