docs: @Override
      public Map<String, String> getMetadataMap() {
          String metadataNamespace = namespace + INSTANCE_METADATA_PREFIX + ".";
          Map<String, String> metadataMap = new LinkedHashMap<String, String>();
          Configuration config = (Configuration) configInstance.getBackingConfigurationSource();
          String subsetPrefix = metadataNamespace.charAt(metadataNamespace.length() - 1) == '.'
                  ? metadataNamespace.substring(0, metadataNamespace.length() - 1)
                  : metadataNamespace;
          for (Iterator<String> iter = config.subset(subsetPrefix).getKeys(); iter.hasNext(); ) {
              String key = iter.next();
              String value = config.getString(subsetPrefix + "." + key);
              metadataMap.put(key, value);
          }
          return metadataMap;
      }