code: @Override
      public boolean condition(Object input) {
          Number n = (Number) input;
          switch (op) {
              case LessThan:
                  return n.intValue() < value;
              case LessOrEqual:
                  return n.intValue() <= value;
              case GreaterThan:
                  return n.intValue() > value;
              case GreaterOrEqual:
                  return n.intValue() >= value;
              case Equal:
                  return n.intValue() == value;
              case NotEqual:
                  return n.intValue() != value;
              case InSet:
                  return set.contains(n.intValue());
              case NotInSet:
                  return !set.contains(n.intValue());
              default:
                  throw new RuntimeException("Unknown or not implemented op: " + op);
          }
      }
docs: Condition on arbitrary input
  
  @param input the input to return
  the condition for
  @return true if the condition is met
  false otherwise