docs: @Override
    public String getValue() {
      String retVal = super.getValue();
      if (retVal == null && myHaveComponentParts) {
  
        if (determineLocalPrefix(myBaseUrl) != null && myResourceType == null && myUnqualifiedVersionId == null) {
          return myBaseUrl + myUnqualifiedId;
        }
  
        StringBuilder b = new StringBuilder();
        if (isNotBlank(myBaseUrl)) {
          b.append(myBaseUrl);
          if (myBaseUrl.charAt(myBaseUrl.length() - 1) != '/') {
            b.append('/');
          }
        }
  
        if (isNotBlank(myResourceType)) {
          b.append(myResourceType);
        }
  
        if (b.length() > 0 && isNotBlank(myUnqualifiedId)) {
          b.append('/');
        }
  
        if (isNotBlank(myUnqualifiedId)) {
          b.append(myUnqualifiedId);
        } else if (isNotBlank(myUnqualifiedVersionId)) {
          b.append('/');
        }
  
        if (isNotBlank(myUnqualifiedVersionId)) {
          b.append('/');
          b.append("_history");
          b.append('/');
          b.append(myUnqualifiedVersionId);
        }
        retVal = b.toString();
        super.setValue(retVal);
      }
      return retVal;
    }