ShardDataTree extends ShardDataTreeTransactionParent { void applyRecoveryPayload(final @NonNull Payload payload) throws IOException { if (payload instanceof CommitTransactionPayload) { applyRecoveryCandidate((CommitTransactionPayload) payload); } else if (payload instanceof AbortTransactionPayload) { allMetadataAbortedTransaction(((AbortTransactionPayload) payload).getIdentifier()); } else if (payload instanceof PurgeTransactionPayload) { allMetadataPurgedTransaction(((PurgeTransactionPayload) payload).getIdentifier()); } else if (payload instanceof CreateLocalHistoryPayload) { allMetadataCreatedLocalHistory(((CreateLocalHistoryPayload) payload).getIdentifier()); } else if (payload instanceof CloseLocalHistoryPayload) { allMetadataClosedLocalHistory(((CloseLocalHistoryPayload) payload).getIdentifier()); } else if (payload instanceof PurgeLocalHistoryPayload) { allMetadataPurgedLocalHistory(((PurgeLocalHistoryPayload) payload).getIdentifier()); } else { LOG.debug("{}: ignoring unhandled payload {}", logContext, payload); } } ShardDataTree(final Shard shard, final EffectiveModelContext schemaContext, final DataTree dataTree,
            final ShardDataTreeChangeListenerPublisher treeChangeListenerPublisher,
            final String logContext,
            final ShardDataTreeMetadata<?>... metadata);   ShardDataTree(final Shard shard, final EffectiveModelContext schemaContext, final TreeType treeType,
            final YangInstanceIdentifier root,
            final ShardDataTreeChangeListenerPublisher treeChangeListenerPublisher,
            final String logContext,
            final ShardDataTreeMetadata<?>... metadata); @VisibleForTesting  ShardDataTree(final Shard shard, final EffectiveModelContext schemaContext, final TreeType treeType); DataTree getDataTree(); @VisibleForTesting void notifyListeners(final DataTreeCandidate candidate); void registerTreeChangeListener(final YangInstanceIdentifier path, final DOMDataTreeChangeListener listener,
            final Optional<DataTreeCandidate> initialState,
            final Consumer<ListenerRegistration<DOMDataTreeChangeListener>> onRegistration); Optional<NormalizedNode<?, ?>> readNode(final YangInstanceIdentifier path); @VisibleForTesting DataTreeModification newModification(); Collection<ShardDataTreeCohort> getAndClearPendingTransactions();  }
@Test public void testUintCommitPayload() throws IOException { shardDataTree.applyRecoveryPayload(CommitTransactionPayload.create(nextTransactionId(), DataTreeCandidates.fromNormalizedNode(YangInstanceIdentifier.empty(), bigIntegerRoot()), PayloadVersion.SODIUM_SR1)); assertCarsUint64(); }