@Around(value = "execution(* *.*(..)) && @within(monitor) && !@annotation(net.anotheria.moskito.aop.annotation.DontMonitor)")
    public Object doProfilingClass(ProceedingJoinPoint pjp, Monitor monitor) throws Throwable {
        return doProfiling(pjp, monitor.producerId(), monitor.subsystem(), monitor.category());
    }
@ Around ( value = "execution(* *.*(..)) && @within(monitor) && !@annotation(net.anotheria.moskito.aop.annotation.DontMonitor)" ) public Object doProfilingClass ( ProceedingJoinPoint pjp , Monitor monitor ) throws Throwable { return doProfiling ( pjp , monitor . producerId ( ) , monitor . subsystem ( ) , monitor . category ( ) ) ; }
Common class profiling entry-point.

@param pjp
{@link ProceedingJoinPoint}
@param monitor
{@link Monitor}
@return call result
@throws Throwable
in case of error during {@link ProceedingJoinPoint#proceed()}