@Contract(pure = true)
  public @NotNull BuildNumber withoutProductCode() {
    return myProductCode.isEmpty() ? this : new BuildNumber("", myComponents);
  }
@Contract(pure = true)
  public @NotNull BuildNumber withoutProductCode()