String (@NotNull JsonProperty property) { List<JsonProperty> parentProperties = PsiTreeUtil.collectParents(property, JsonProperty.class, false, e -> { //TODO check that it is TOP-LEVEL 'ui' property return e instanceof JsonProperty && UI_PROPERTY_NAME.equals(((JsonProperty)e).getName()); }); return Lists.reverse(parentProperties).stream() .map(p -> p.getName()) .collect(Collectors.joining(".")); }