ShardDataTree extends ShardDataTreeTransactionParent { void applyRecoverySnapshot(final @NonNull ShardSnapshotState snapshot) throws DataValidationFailedException { final ReusableNormalizedNodePruner pruner = ReusableNormalizedNodePruner.forDataSchemaContext( dataSchemaContext); if (snapshot.needsMigration()) { final ReusableNormalizedNodePruner uintPruner = pruner.withUintAdaption(); applySnapshot(snapshot.getSnapshot(), delegate -> new PruningDataTreeModification.Proactive(delegate, dataTree, uintPruner)); } else { applySnapshot(snapshot.getSnapshot(), delegate -> new PruningDataTreeModification.Reactive(delegate, dataTree, pruner)); } } 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 testUintSnapshot() throws IOException, DataValidationFailedException { shardDataTree.applyRecoverySnapshot(new ShardSnapshotState(new MetadataShardDataTreeSnapshot(bigIntegerRoot()), true)); assertCarsUint64(); }