@Override
  public boolean recursePathMacros(@NotNull Attribute attribute) {
    if (!attribute.getName().equals(Constants.VALUE)) return false;

    Element optionTag = attribute.getParent();
    if (optionTag == null ||
        !Constants.OPTION.equals(optionTag.getName()) ||
        !"additionalArguments".equals(optionTag.getAttributeValue(Constants.NAME))) {
      return false;
    }

    Element compilerSettingsTag = optionTag.getParentElement();
    if (compilerSettingsTag == null || !compilerSettingsTag.getName().equals("compilerSettings")) {
      return false;
    }
    Element configurationTag = compilerSettingsTag.getParentElement();
    if (configurationTag == null || !configurationTag.getName().equals("configuration")) {
      return false;
    }

    Element facetTag = configurationTag.getParentElement();
    return facetTag != null && facetTag.getName().equals("facet");
  }
@Override
  public boolean recursePathMacros(@NotNull Attribute attribute)