private Interceptor wrap(Interceptor interceptor, ScopeInfo scopeInfo, InterceptorScope interceptorScope) {
        if (interceptorScope != null) {
            final ExecutionPolicy executionPolicy = getExecutionPolicy(scopeInfo.getExecutionPolicy());
            if (exceptionHandlerFactory.isHandleException()) {
                return wrapByExceptionHandleScope(interceptor, interceptorScope, executionPolicy);
            } else {
                return wrapByScope(interceptor, interceptorScope, executionPolicy);
            }
        } else {
            if (exceptionHandlerFactory.isHandleException()) {
                return wrapByExceptionHandle(interceptor);
            }
        }
        return interceptor;
    }
@author Jongho Moon
@author jaehong.kim
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/interceptor/factory/AnnotatedInterceptorFactory.java