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

    TKeyRefList keyList = scannerData.getKeyList() ;
    Vector fileList = scannerData.getFileList() ;

    codeScanner.setKeyList( keyList );

    System.out.println( "scanner filelist " +fileList.size()) ;

    keyList.clear() ;  // remove all old entries

    if ( fileList.size() > 0 )  // scan every file
    {
      File file = null ;
      for ( int t = 0, len = fileList.size() ; t < len ; t++ )
      {
        try
        {

          file = ( File ) fileList.get( t ) ;
          InputStream stream = new FileInputStream( file ) ;

          codeScanner.ReInit( stream ) ;

          codeScanner.setCurrentFileName( file.getName() );

//          System.out.println( "scan " + file ) ;
          codeScanner.JavaCompilationUnit() ;
        }
        catch ( Exception e )
        {
          System.out.println( "scan " + file ) ;
          System.out.println( "Ausnahme " ) ;
          e.printStackTrace() ;
        }
        catch ( Error e2 )
        {
          System.out.println( "scan " + file ) ;
          System.out.println( "FEHLER " ) ;
          e2.printStackTrace() ;
        }
      }
    }

    keyList.rebuild();  // rebuild the tablemodel and filter same keys
  }