@Override
  public boolean equals(Object obj) {
    if (!(obj instanceof GitVersion other)) {
      return false;
    }
    if (compareTo(other) != 0) {
      return false;
    }
    if (myType == Type.UNDEFINED || other.myType == Type.UNDEFINED) {
      return true;
    }
    return myType == other.myType;
  }
@Override
  public boolean equals(Object obj)