CommandLineParser parser = new PosixParser();
CommandLineParser parser = new BasicParser();
    public static void main( String[] args )    {        if ( options == null )        {            createOptions();        }        CommandLineParser parser = new PosixParser();        try        {            // parse the command line arguments            CommandLine line = parser.parse( options, args);            if ( line.hasOption( "help") )            {                usage();                System.exit( 1);            }            if ( line.hasOption( "version") )            {                System.out.println( IQuiver.VERSION);                System.exit( 1);            }            String configDir = null;            boolean isConfDirOverwritten = false;            if ( line.hasOption( "c") )            {                configDir = line.getOptionValue( "c");                isConfDirOverwritten = true;            }            else            {                configDir = ConfigurationConstants.DEFAULT_CONFIG_DIR;            }            String cFileMain = null;                        if ( line.hasOption( "fIQuiver") )            {                cFileMain = line.getOptionValue( "fIQuiver");            }            else            {                cFileMain = configDir + "/" + ConfigurationConstants.CONFIG_FILE_MAIN;            }            Configuration configuration = null;            try            {                configuration = new DefaultProperiesConfiguration( cFileMain );                if(isConfDirOverwritten)                 {                    configuration.addProperty(ConfigurationConstants.OVERWRITE_KEY_CONFIG_DIR, configDir);                }            }            catch ( IOException e )            {                System.out.println( "Failed to load configuration from " + cFileMain + " Reason:\n" + e.getMessage());                System.exit( 1);            }            if ( line.hasOption( "fLog") )            {                configuration.addProperty( ConfigurationConstants.OVERWRITE_KEY_CONFIG_LOGGER, line                        .getOptionValue( "fLog"));            }            if ( line.hasOption( "fCache") )            {                configuration.addProperty( ConfigurationConstants.OVERWRITE_KEY_CONFIG_CACHE, line                        .getOptionValue( "fCache"));            }            if ( line.hasOption( "fTorque") )            {                configuration.addProperty( ConfigurationConstants.OVERWRITE_KEY_CONFIG_PERSISTENCE, line                        .getOptionValue( "fTorque"));            }            startIQuiver( configuration);        }        catch ( ParseException exp )        {            // oops, something went wrong            System.err.println( "Commandline parsing failed. Reason:\n" + exp.getMessage());        }    }