code: private Node createGroupIdLayout(Node rootNode, ArtifactDescriptor artifact) throws RepositoryException
     {
        FolderDescriptor groupId = artifact.getGroupId();
        List<String> struct_groupId = new ArrayList<String>();
  
        String[] items = groupId.getAsPath().split("/");
  
        for (String subString : items)
        {
           struct_groupId.add(subString);
        }
        Node groupIdTail = rootNode;
  
        for (Iterator<String> iterator = struct_groupId.iterator(); iterator.hasNext();)
        {
           String name = iterator.next();
           Node levelNode;
           // Node do not has such child nodes
           if (!groupIdTail.hasNode(name))
           {
              levelNode = groupIdTail.addNode(name, "nt:folder");
              levelNode.addMixin("exo:groupId");
           }
           else
           {
              levelNode = groupIdTail.getNode(name);
           }
           groupIdTail = levelNode;
        }
  
        return groupIdTail;
     }
docs: parameter : com.google.code...