public MegaKnowledgeProvider(NodeStore store)
        {
            _nodeStore = store;

            _idFormats = new SyncIdFormatGroup();
            _idFormats.ChangeUnitIdFormat.IsVariableLength = false;
            _idFormats.ChangeUnitIdFormat.Length = 4;
            _idFormats.ItemIdFormat.IsVariableLength = false;
            _idFormats.ItemIdFormat.Length = 24;
            _idFormats.ReplicaIdFormat.IsVariableLength = false;
            _idFormats.ReplicaIdFormat.Length = 16;

            _metadataStore = new MetadataStore(_idFormats);
            _changeApplier = new ChangeApplier(_metadataStore, _idFormats, _nodeStore);
            _changeApplier.AppliedChange += OnAppliedChange;
            _changeApplier.DemandedResync += (s,e) => NeedResync = true;

            //Configuration.CollisionConflictResolutionPolicy =
        }
        public MegaKnowledgeProvider(NodeStore store)
        {
            _nodeStore = store;

            _idFormats = new SyncIdFormatGroup();
            _idFormats.ChangeUnitIdFormat.IsVariableLength = false;
            _idFormats.ChangeUnitIdFormat.Length           = 4;
            _idFormats.ItemIdFormat.IsVariableLength       = false;
            _idFormats.ItemIdFormat.Length = 24;
            _idFormats.ReplicaIdFormat.IsVariableLength = false;
            _idFormats.ReplicaIdFormat.Length           = 16;

            _metadataStore = new MetadataStore(_idFormats);
            _changeApplier = new ChangeApplier(_metadataStore, _idFormats, _nodeStore);
            _changeApplier.AppliedChange  += OnAppliedChange;
            _changeApplier.DemandedResync += (s, e) => NeedResync = true;

            //Configuration.CollisionConflictResolutionPolicy =
        }