code: public void start()
     {
        // responsible for:
        // 1. reading parameters (such as repoWorkspaceName, repoPath) from
        // registryService (if present) or init params
        // 2. initializing artifact service Registry Entry if registryService is
        // present
        // if Entry is not initialized yet (first launch)
        // 3. initializing maven root if not initialized
  
        if (LOG.isDebugEnabled())
        {
           LOG.debug("Starting ArtifactManagingService ...");
        }
  
        sessionProvider = SessionProvider.createSystemProvider();
  
        try
        {
           InputStream xml = getClass().getResourceAsStream(NT_FILE);
           ManageableRepository rep = repositoryService.getCurrentRepository();
           rep.getNodeTypeManager().registerNodeTypes(xml, ExtendedNodeTypeManager.IGNORE_IF_EXISTS,
              NodeTypeDataManager.TEXT_XML);
           readParamsFromRegistryService(sessionProvider);
           prepareRootNode(sessionProvider, rootNodePath);
        }
        catch (PathNotFoundException e)
        {
           try
           {
              readParamsFromFile();
              writeParamsToRegistryService(sessionProvider);
  
              prepareRootNode(sessionProvider, rootNodePath);
           }
           catch (RepositoryException exc)
           {
              LOG.error("Cannot write init configuration to RegistryService", exc);
           }
           catch (IOException exc)
           {
              LOG.error("Cannot write init configuration to RegistryService", exc);
           }
           catch (SAXException exc)
           {
              LOG.error("Cannot write init configuration to RegistryService", exc);
           }
           catch (ParserConfigurationException exc)
           {
              LOG.error("Cannot write init configuration to RegistryService", exc);
           }
        }
        catch (RepositoryException e)
        {
           LOG.error("Error while register nodetypes/checking existance", e);
        }
        finally
        {
           sessionProvider.close();
        }
     }
docs: /*
  (non-Javadoc)
  @see org.picocontainer.Startable#start()