docs: public ArtifactStore newInstance()
      {
          if ( factoryHelper == null )
          {
              throw new IllegalStateException( "FactoryHelper has not been set" );
          }
          if ( source == null )
          {
              throw new IllegalStateException( "Must provide the 'source' of the mock repository" );
          }
          
          File root = source;
          if ( cloneTo != null )
          {
              if( !cloneTo.mkdirs() && cloneClean )
              {
                  try
                  {
                      FileUtils.cleanDirectory( cloneTo );
                  }
                  catch ( IOException e )
                  {
                      throw new IllegalStateException( "Failed to clean directory: " + e.getMessage() );
                  }
              }
              
              try
              {
                  FileUtils.copyDirectory( source, cloneTo );
                  root = cloneTo;
              }
              catch ( IOException e )
              {
                  throw new IllegalStateException( "Failed to copy directory: " + e.getMessage() );
              }
          }
          
          return new MockArtifactStore( factoryHelper.getLog(), root, lazyArchiver );
      }