String[] sourceFiles = getSourceFiles( config );
config.setSourceFiles(null);  String[] sourceFiles = CSharpCompiler.getSourceFiles( config );
    public List compile( CompilerConfiguration config )        throws CompilerException    {        File destinationDir = new File( config.getOutputLocation() );        if ( !destinationDir.exists() )        {            destinationDir.mkdirs();        }        String[] sourceFiles = getSourceFiles( config );        if ( sourceFiles.length == 0 )        {            return Collections.EMPTY_LIST;        }        System.out.println( "Compiling " + sourceFiles.length + " " +                            "source file" + ( sourceFiles.length == 1 ? "" : "s" ) +                            " to " + destinationDir.getAbsolutePath() );        String[] args = buildCompilerArguments( config, sourceFiles );        List messages;        if ( config.isFork() )        {            messages = compileOutOfProcess( config.getWorkingDirectory(),                                            config.getBuildDirectory(),                                            findExecutable( config ),                                            args );        }        else        {            throw new CompilerException( "This compiler doesn't support in-process compilation." );        }        return messages;    }