public void collect()
  {
    if ( scannerData == null)
      return ;

    Vector fileList = scannerData.getFileList() ;
    fileList.clear() ;

    File file = new File( scannerData.getSourcePath() ) ;

    if ( file.exists() )
    {
      Stack stack = new Stack() ;
      stack.push( file ) ;

      while ( !stack.empty() )
      {
        file = ( File ) stack.pop() ;
        if ( file.isDirectory() )
        {
          // get all entries
          File files[] = file.listFiles( filter ) ;

          if ( files != null )
          {
            // sort all entries, files into list the vector, directories to the stack
            for ( int t = 0, len = files.length ; t < len ; t++ )
            {
              file = files[t] ;
              if ( file.isDirectory() )
              {
                stack.push( file ) ;
              }
              else // file
              {
                fileList.add( file ) ;
              }
            }
          }
        }
        else // special case => methode parameter root = file, not directory
        {
          fileList.add( file ) ;
        }
      }
    }
  }