@Override
  public ProtobufSystemInfo.Section toProtobuf() {
    ProtobufSystemInfo.Section.Builder protobuf = ProtobufSystemInfo.Section.newBuilder();
    protobuf.setName("System");

    setAttribute(protobuf, "Version", server.getVersion());
    setAttribute(protobuf, "Official Distribution", officialDistribution.check());
    setAttribute(protobuf, "Home Dir", config.get(PATH_HOME.getKey()).orElse(null));
    setAttribute(protobuf, "Data Dir", config.get(PATH_DATA.getKey()).orElse(null));
    setAttribute(protobuf, "Temp Dir", config.get(PATH_TEMP.getKey()).orElse(null));
    setAttribute(protobuf, "Processors", Runtime.getRuntime().availableProcessors());
    return protobuf.build();
  }
@Test
  public void return_dir_paths() {
    settings.setProperty(PATH_HOME.getKey(), "/home");
    settings.setProperty(PATH_DATA.getKey(), "/data");
    settings.setProperty(PATH_TEMP.getKey(), "/temp");
    settings.setProperty(PATH_LOGS.getKey(), "/logs");
    settings.setProperty(PATH_WEB.getKey(), "/web");

    ProtobufSystemInfo.Section section = underTest.toProtobuf();

    assertThatAttributeIs(section, "Home Dir", "/home");
    assertThatAttributeIs(section, "Data Dir", "/data");
    assertThatAttributeIs(section, "Temp Dir", "/temp");

    // logs dir is part of LoggingSection
    assertThat(attribute(section, "Logs Dir")).isNull();

    // for internal usage
    assertThat(attribute(section, "Web Dir")).isNull();

  }