code: public Map<String, Set<ServiceDefinition>> getNamespaceServiceDefinitionMap() {
          Map<String, Set<ServiceDefinition>> namespaceServiceDefinitionMap = new HashMap<String, Set<ServiceDefinition>>();
  
          for (String namespace : serviceImplementationMap.keySet()) {
              Set<ServiceDefinition> serviceDefinitions = new HashSet<ServiceDefinition>();
              namespaceServiceDefinitionMap.put(namespace, serviceDefinitions);
              for (ServiceDefinition sd : serviceImplementationMap.get(namespace).keySet()) {
                  serviceDefinitions.add(sd);
              }
          }
          return Collections.unmodifiableMap(namespaceServiceDefinitionMap);
      }
docs: This method returns an unmodifiable map between each namespace and the set of serviceDefinitions bound
  to that namespace.  Note that by default the namespace is null, so there could be a null
  namespace with services enumerated within
  @return