/**
  * Filters the classes to be transformed.
  *
  * @param classInfo the class to filter
  * @param ctx the context
  * @param definitions a set with the definitions
  * @return boolean true if the method should be filtered away
  */
 public static boolean classFilter(
     final ClassInfo classInfo, final ExpressionContext ctx, final Set definitions) {
   for (Iterator it = definitions.iterator(); it.hasNext(); ) {
     SystemDefinition systemDef = (SystemDefinition) it.next();
     if (classInfo.isInterface()) {
       return true;
     }
     String className = classInfo.getName().replace('/', '.');
     if (systemDef.inExcludePackage(className)) {
       return true;
     }
     if (!systemDef.inIncludePackage(className)) {
       return true;
     }
     if (systemDef.hasMixin(ctx)) {
       return false;
     }
   }
   return true;
 }