@JsonIgnore
    public Optional<String> getParentPropertyName() {
        if (parentParts.isEmpty()) {
            return Optional.empty();
        } else {
            return Optional.ofNullable(parentParts.get(parentParts.size() - 1));
        }
    }
@return The parent property name from a property path, i.e. "node" from "stroom.node.name".
Throws a {@link RuntimeException} if the path is empty or there is no parent.
stroom-util-shared/src/main/java/stroom/util/shared/PropertyPath.java