docs: public static NodeDefinitionId fromString( String definition,
                                                 NameFactory factory ) {
          String[] parts = definition.split("/");
          String nodeTypeNameString = parts[0];
          String childDefinitionNameString = parts[1];
          Name[] requiredPrimaryTypes = new Name[parts.length - 2];
          for (int i = 2, j = 0; i != parts.length; ++i, ++j) {
              requiredPrimaryTypes[j] = factory.create(parts[i]);
          }
          Name nodeTypeName = factory.create(nodeTypeNameString);
          Name childDefinitionName = factory.create(childDefinitionNameString);
          return new NodeDefinitionId(nodeTypeName, childDefinitionName, requiredPrimaryTypes);
      }