private Ice.Properties createServiceProperties(String service) {
    Ice.Properties properties;
    Ice.Properties communicatorProperties = _communicator.getProperties();
    if (communicatorProperties.getPropertyAsInt("IceBox.InheritProperties") > 0) {
      properties = communicatorProperties._clone();
      properties.setProperty("Ice.Admin.Endpoints", ""); // Inherit all except Ice.Admin.Endpoints!
    } else {
      properties = Ice.Util.createProperties();
    }

    String programName = communicatorProperties.getProperty("Ice.ProgramName");
    if (programName.length() == 0) {
      properties.setProperty("Ice.ProgramName", service);
    } else {
      properties.setProperty("Ice.ProgramName", programName + "-" + service);
    }
    return properties;
  }