docs: public Properties processProps(Map<String, Object> props, String elementNameRef) {
          final Properties properties = new Properties();
          String pid = (String) props.get(elementNameRef);
  
          if (pid == null) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "pid null");
              }
          } else {
              ConfigurationAdmin configAdmin = configAdminRef.getServiceWithException();
              Configuration config = null;
              try {
                  // We do not want to create a missing pid, only find one that we were told exists
                  Configuration[] configList = configAdmin.listConfigurations(FilterUtils.createPropertyFilter("service.pid", pid));
                  if (configList != null && configList.length > 0) {
                      //bind the config to this bundle so no one else can steal it
                      config = configAdmin.getConfiguration(pid, configAdminRef.getReference().getBundle().getLocation());
                  }
              } catch (Exception e) {
                  //do nothing
              }
              if (config != null) {
                  // Just get the first one (there should only ever be one.. )
                  Dictionary<String, ?> cProps = config.getProperties();
                  Enumeration<String> keys = cProps.keys();
                  while (keys.hasMoreElements()) {
                      String key = keys.nextElement();
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                          Tr.debug(tc, "found key: " + key);
                      }
                      // Skip certain keys
                      if (key.startsWith(".")
                              || key.startsWith("config.")
                              || key.startsWith("service.")
                              || key.equals("id")) {
                          continue;
                      }
                      Object value = cProps.get(key);
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                          Tr.debug(tc, "key: " + key + " value: " + value);
                      }
                      // For scope to claims map generate String array from comma delimited string
                      value = getValue(value);
                      properties.put(key, value);
                  }
              }
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, elementNameRef + ": " + properties.toString());
          }
          return properties;
      }