@Override
      public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
        final ArrayList<YAMLKeyValue> keysToDelete = new ArrayList<>();

        descriptor.getPsiElement().getContainingFile().accept(new YamlRecursivePsiElementVisitor() {
          @Override
          public void visitKeyValue(@NotNull YAMLKeyValue keyValue) {
            final YamlMetaTypeProvider.MetaTypeProxy meta = myMetaTypeProvider.getKeyValueMetaType(keyValue);
            if (meta != null && !meta.getField().isEditable()) {
              if (keyValue.getParentMapping() != null) {
                keysToDelete.add(keyValue);
              }
              else {
                Logger.getInstance(YamlNonEditableKeysInspectionBase.class)
                  .warn("Wanted to remove KV, but it does not have a parent mapping");
              }
              return;
            }
            super.visitKeyValue(keyValue);
          }
        });

        for (YAMLKeyValue keyValue : keysToDelete) {
          Objects.requireNonNull(keyValue.getParentMapping()).deleteKeyValue(keyValue);
        }
      }
@Override
      public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor)