public Object handle(String name, ProceedingJoinPoint joinpoint) throws Throwable { StackFrame stackFrame = new StackFrame(); stackFrame.name = name; stackFrame.arguments = joinpoint.getArgs(); stackFrame.returnValue = joinpoint.proceed(transform.tranform(joinpoint.getArgs())); stackFrames.add(stackFrame); LOGGER.log(Level.INFO, stackFrame.toString()); return stackFrame.returnValue; }