docs: String fullEncode() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "fullEncode");
  
          String encoded = null;
  
          // If we have a cached version of the string, use it.
          if (cachedEncodedString != null) {
              encoded = cachedEncodedString;
          }
  
          // Otherwise, encode it
          else {
              // Get a copy of the properties which make up this Destination. We need a
              // copy since we remove the jms name before iterating over the other
              // properties, and encoding them.
              Map<String, Object> destProps = getCopyOfProperties();
  
              // Pass off to a common helper method (between full and partial encodings).
              encoded = encodeMap(destProps);
  
              // Now store this string in the cache in case we need it later.
              cachedEncodedString = encoded;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "fullEncode", encoded);
          return encoded;
      }