class Description {
  /**
   * @return the value of this description.
   */
  public abstract String value();

  @Override
  public String toString() {
    return value();
  }

  public static Description emptyIfNull(Description description) {
    return description == null ? emptyDescription() : description;
  }

  public static String mostRelevantDescription(Description existingDescription, String newDescription) {<FILL_FUNCTION_BODY>}

}

    boolean isDescriptionSet = existingDescription != null && !isNullOrEmpty(existingDescription.value());
    return isDescriptionSet ? existingDescription.value() : newDescription;
  
<no_super_class>