@VisibleForTesting
  static Optional<String> getChildValue(@Nullable Xpp3Dom dom, String... childNodePath) {
    if (dom == null) {
      return Optional.empty();
    }

    Xpp3Dom node = dom;
    for (String child : childNodePath) {
      node = node.getChild(child);
      if (node == null) {
        return Optional.empty();
      }
    }
    return Optional.ofNullable(node.getValue());
  }
@Test
  public void testGetChildValue_nullValue() {
    Xpp3Dom root = new Xpp3Dom("root");
    addXpp3DomChild(root, "foo", null);

    assertThat(MavenProjectProperties.getChildValue(root)).isEmpty();
    assertThat(MavenProjectProperties.getChildValue(root, "foo")).isEmpty();
  }