public override bool Sync() { var stream = FContainer.IOObject; var result = IsChanged = stream.Sync(); if (result) { using (var writer = this.GetDynamicWriter()) foreach (var s in stream) { if (s != null) { writer.Write(DictionaryExtensions.EnsureValue(map, s, vvvvK => new MyKeyboard(vvvvK))); } else { writer.Write(Keyboard.Empty); } } } return(result); }