@Override
    protected void apply(@NotNull List<? extends ApplyPatchChange> changes) {
      for (int i = changes.size() - 1; i >= 0; i--) {
        replaceChange(changes.get(i));
      }
    }
@Override
    protected void apply(@NotNull List<? extends ApplyPatchChange> changes)