code: @Before("@within(org.audit4j.core.annotation.Audit) || @annotation(org.audit4j.core.annotation.Audit)")
      public void audit(final JoinPoint jointPoint) throws Throwable {
  
          MethodSignature methodSignature = (MethodSignature) jointPoint.getSignature();
          Method method = methodSignature.getMethod();
  
          if (method.getDeclaringClass().isInterface()) {
              try {
                  method = jointPoint.getTarget().getClass()
                          .getDeclaredMethod(jointPoint.getSignature().getName(), method.getParameterTypes());
              } catch (final SecurityException exception) {
                  throw new Audit4jRuntimeException(
                          "Exception occured while proceding Audit Aspect in Audit4j Spring Integration", exception);
              } catch (final NoSuchMethodException exception) {
                  throw new Audit4jRuntimeException(
                          "Exception occured while proceding Audit Aspect in Audit4j Spring Integration", exception);
              }
          }
  
          AuditManager.getInstance().audit(jointPoint.getTarget().getClass(), method, jointPoint.getArgs());
      }
docs: Audit Aspect.
  
  @param jointPoint
  the joint point
  @throws Throwable
  the throwable