- * <h3>Correctness assumptions</h3> Implementation SHOULD use only the {@link DOMDataTreeCandidate} instances and
- * provided {@link SchemaContext} for validation purposes.
- * Use of any other external mutable state is discouraged, implementation MUST NOT use any
- * transaction related APIs on same data broker / data store instance during invocation of
- * callbacks, except ones provided as argument. Note that this MAY BE enforced by some
- * implementations of {@link DOMDataBroker} or DOMDataCommitCoordinator
- * Note that this may be enforced by some implementations of {@link DOMDataTreeCommitCohortRegistry}
- * and such calls may fail.
- * <h3>Correct model usage</h3> If implementation is performing YANG-model driven validation
- * implementation SHOULD use provided schema context.
- * Any other instance of {@link SchemaContext} obtained by other means, may not be valid for the
- * associated DOMDataTreeCandidates and it may lead to incorrect validation or processing of provided
- * data.
- * <h3>DataTreeCandidate assumptions</h3> Implementation SHOULD NOT make any assumptions on a
- * {@link DOMDataTreeCandidate} being successfully committed until associated
- * {@link PostCanCommitStep#preCommit()} and
- * {@link org.opendaylight.mdsal.common.api.PostPreCommitStep#commit()} callback was invoked.
- * <h2>Usage patterns</h2>
- * <h3>Data Tree Validator</h3>
- * Validator is implementation, which only validates {@link DOMDataTreeCandidate} instances and does not
- * retain any state derived from edited data - does not care if a {@link DOMDataTreeCandidate} was
- * rejected afterwards or transaction was cancelled.
- * Implementation may opt-out from receiving {@code preCommit()}, {@code commit()}, {@code abort()}
- * callbacks by returning {@link PostCanCommitStep#NOOP}.