code: public Boolean evaluate(Object o) {
  
          EntityClassReader classReader = EntityClassReader.getClassReaderFor(o.getClass());
  
          if (classReader.getPropertyType(propertyName) != Boolean.class)
                  throw new RuntimeException("Property " + propertyName + " on object " + o + " is not of type Boolean");
  
          Object result = null;
          try {
              result = classReader.getPropertyValue(o, propertyName);
          }
          catch (InvalidObjectReaderException e) {
              ; // can never occur
          }
  
          return (Boolean)result;
      }
docs: Evaluates the given object against this expression.
  
  
  @param o The object to evaluate.
  @return True if the given object matches this expression, false otherwise.