}  if ( !config.isShowWarnings() ) { args.add( "-nowarn" );
    public static String[] buildCompilerArguments( CompilerConfiguration config,                                                   String[] sourceFiles )    {        List args = new ArrayList();        // ----------------------------------------------------------------------        // Set output        // ----------------------------------------------------------------------        File destinationDir = new File( config.getOutputLocation() );        args.add( "-d" );        args.add( destinationDir.getAbsolutePath() );        // ----------------------------------------------------------------------        // Set the class and source paths        // ----------------------------------------------------------------------        List classpathEntries = config.getClasspathEntries();        if ( classpathEntries != null && !classpathEntries.isEmpty() )        {            args.add( "-classpath" );            args.add( getPathString( classpathEntries ) );        }        List sourceLocations = config.getSourceLocations();        if ( sourceLocations != null && !sourceLocations.isEmpty() )        {            args.add( "-sourcepath" );            args.add( getPathString( sourceLocations ) );        }        for ( int i = 0; i < sourceFiles.length; i++ )        {            args.add( sourceFiles[i] );        }        if ( config.isDebug() )        {            args.add( "-g" );        }        if ( config.isShowDeprecation() )        {            args.add( "-deprecation" );            // This is required to actually display the deprecation messages            config.setShowWarnings( true );        }        if ( !config.isShowWarnings() )        {            args.add( "-nowarn" );        }        // TODO: this could be much improved        if ( StringUtils.isEmpty( config.getTargetVersion() ) )        {            // Required, or it defaults to the target of your JDK (eg 1.5)            args.add( "-target" );            args.add( "1.1" );        }        else        {            args.add( "-target" );            args.add( config.getTargetVersion() );        }        if ( StringUtils.isEmpty( config.getSourceVersion() ) )        {            // If omitted, later JDKs complain about a 1.1 target            args.add( "-source" );            args.add( "1.3" );        }        else        {            args.add( "-source" );            args.add( config.getSourceVersion() );        }        if ( !StringUtils.isEmpty( config.getSourceEncoding() ) )        {            args.add( "-encoding" );            args.add( config.getSourceEncoding() );        }        Map compilerOptions = config.getCompilerOptions();        Iterator it = compilerOptions.entrySet().iterator();        while ( it.hasNext() )        {            Map.Entry entry = (Map.Entry) it.next();            args.add( entry.getKey() );            if ( entry.getValue() != null )            {                args.add( entry.getValue() );            }        }        return (String[]) args.toArray( new String[ args.size() ] );    }