if (method.getAnnotation(Around.class) != null)
return new AroundAdvice(method, aspect);
else if (method.getAnnotation(Before.class) != null)
return new BeforeAdvice(method, aspect);
else if (method.getAnnotation(After.class) != null)
return new AfterAdvice(method, aspect);
else if (method.getAnnotation(AfterReturning.class) != null)
return new AfterReturningAdvice(method, aspect);
else if (method.getAnnotation(AfterThrowing.class) != null)
return new AfterThrowingAdvice(method, aspect);
else return null;