class Condition {

  @Override
  public boolean equals(Object other) {
    if (this == other) {
      return true;
    }
    if (!(other instanceof Condition)) {
      return false;
    }
    Condition condition = (Condition) other;
    return Objects.equals(column, condition.getColumn())
        && function == condition.getFunction()
        && Objects.equals(value, condition.getValue());
  }

  public  Condition(String column, Function function, Value value);

}