boolean equals(Order other) {
    if (other.getKind() == Kind.ANY && kind == Kind.ANY) return true;

    if (kind != other.getKind()) return false;

    return attrNames.equals(other.getAttrNames());
  }
 public Order(Order other) {
   kind = other.getKind();
   attrNames = other.getAttrNames().copy();
 }