class Wait extends Operation {

  @Override
  public boolean equals(Object other) {
    if (this == other) {
      return true;
    }
    if (!(other instanceof Wait)) {
      return false;
    }
    Wait that = (Wait) other;
    return Objects.equals(timeout, that.getTimeout())
        && Objects.equals(table, that.getTable())
        && Objects.equals(where, that.getWhere())
        && Objects.equals(columns, that.getColumns())
        && until == that.getUntil()
        && Objects.equals(rows, that.getRows());
  }

  public  Wait(
      String table, List<Condition> where,
      List<String> columns, Until until, List<Row> rows
  );
  public  Wait(
      String table, Integer timeout, List<Condition> where,
      List<String> columns, Until until, List<Row> rows
  );

}