Discarding property changes?

Overview

I have a class (deriving from AActor) which makes use of PostEditChangeChainProperty to keep up with changes made to a TArray of objects in the editor.
As nice as this is, I also need a way to discard changes made this way BEFORE my data has actually been changed, and possibly even a way to revert the details panel to it’s prior state, letting users know that such a change is not allowed.

I took a look around and found the PropagatePreEditChange and PropagatePostEditChange methods.
After reviewing the source code, it would seem that these methods are exactly what I’m looking for, but I can’t seem to find a way to override or implement them into my class. The original method definitions aren’t marked as virtual, and in UObject.h it comments Non virtual functions, not intended to be overridden above them.
Google was useless in researching these methods, so it appears I’m at a loss with them.

I also noticed PreEditChange, which is actually called from PropagatePreEditChange. The issue I find with this method is that it only seems to notify you when a property is about to change, but doesn’t seem to provide a way to prevent or revert changes. I’m assuming that PreEditUndo is tied to this, but I can’t find enough information.

Question (TL;DR)

So, does anyone know the proper way to monitor and revert property changes made to an array in the editor details panel?

I need an answer :OO