private TLanguageFile initSingle( Element node, String workDir, String projectDir)
  {
    TLanguageFile back = null ;

    String filename = node.getAttribute("filename") ;

    if (filename != null)
    {
      if (filename.length() > 0)
      {
        File workFile = new File( filename ) ;

        // file doesn't exists => look at a static path
        if ( !workFile.exists() )
        {
          workFile = new File( workDir, filename ) ;

          // try the xml project path
          if (!workFile.exists() )
          {
            workFile = new File(projectDir, filename) ;
          }
        }

        // last hope: found?
        if ( workFile.exists() )
        {
          back = createFileHandle( workFile ) ;

          // read some extra properties
          NodeList nList = node.getElementsByTagName("properties") ;
          if (nList != null)
          {
            if (nList.getLength() > 0)
            {
              back.initFromXml( (Element) nList.item(0) ) ;
            }
          }
        }
        else
        {
          Logger.global.warning( "file not found " +filename ) ;
        }
      }
    }
    return back ;
  }