/** Build the underlying AspectJ pointcut expression. */
 private PointcutExpression buildPointcutExpression(ClassLoader classLoader) {
   PointcutParser parser = initializePointcutParser(classLoader);
   PointcutParameter[] pointcutParameters =
       new PointcutParameter[this.pointcutParameterNames.length];
   for (int i = 0; i < pointcutParameters.length; i++) {
     pointcutParameters[i] =
         parser.createPointcutParameter(
             this.pointcutParameterNames[i], this.pointcutParameterTypes[i]);
   }
   return parser.parsePointcutExpression(
       replaceBooleanOperators(getExpression()),
       this.pointcutDeclarationScope,
       pointcutParameters);
 }