public DesktopAgentProperties(boolean createDefaultPropertiesEverytime) {
    properties = new Properties();
    propertiesFile = new File(propertiesFileName);

    try {
      if (!propertiesFile.exists() || createDefaultPropertiesEverytime) {
        Main.logger.warning(Main.DEFAULT, "Properties file does not exist");
        Main.logger.info(Main.DEFAULT, "Creating default properties file");
        propertiesFile = createDesktopAgentPropertiesFile(propertiesFileName);
        Main.logger.info(Main.DEFAULT, "Writing default properties file");
        properties = writeDefaultDesktopAgentPropertiesFile(propertiesFile);
      } else {
        properties.loadFromXML(new FileInputStream(propertiesFile));
        Main.logger.info(Main.DEFAULT, "Successfully loaded properties file");
      }
    } catch (InvalidPropertiesFormatException ipfe) {
      Main.logger.severe(Main.DEFAULT, ipfe.getMessage());
    } catch (IOException ioe) {
      Main.logger.severe(Main.DEFAULT, ioe.getMessage());
    }
  }