code: function followTheme( themeRef ) {
        const lookupRef = themeRef === 'default' ? paths[ 'default-theme' ] : `${themeRef}.theme`;
  
        return resolveRef( join( lookupRef, 'theme.json' ), paths.themes )
           .then( descriptorPath => readJson( descriptorPath ).then( theme => {
              const path = dirname( descriptorPath );
              const name = theme.name;
              if( !name ) {
                 return Promise.reject( 'Theme descriptor is missing name: ', path );
              }
  
              return [ {
                 refs: [ themeRef ],
                 name,
                 path,
                 descriptor: theme,
                 category: 'themes',
                 schemas: [ 'theme' ]
              } ];
           } ) );
     }
docs: //////////////////////////////////////////////////////////////////////////////////////////////////////// 
  Collect meta information about the single theme. If the theme is the default theme, and a custom
  path was configured with `paths[ 'default-theme' ]` resolve the theme at the given path; otherwise
  treat it like any other theme.
  
  @private
  @memberOf ArtifactCollector
  @param {String} themeRef the theme reference (relative to `paths.themes`) to follow
  @return {Promise<Array>} a promise for an array with a single theme-meta object