public Configuration getConfigData()
   {
      if (this.configData == null) {
         synchronized (this) {
            this.configData = new HierarchicalConfiguration();
            /**
             * - Load data from config properties file.
             * - Overwrite any existing data with the data that is specified via command line.
             */
            loadConfigData("qcConfig.properties", false);
            for (Entry entry : System.getProperties().entrySet()) {
               String key = (String) entry.getKey();
               if (key.toLowerCase().startsWith("qc.")) {
                  configData.setProperty((String) entry.getKey(),
                           entry.getValue());
               }
            }
            log.info("QC configuration data set :\n"
                     + ConfigurationUtils.toString(configData));
         }
      }
      return this.configData;
   }