/// <summary>
            /// Gets the key (<see cref="ReferenceDataBase.Code"/>) for the <see cref="ReferenceDataBase"/> item.
            /// </summary>
            /// <param name="item">The <see cref="ReferenceDataBase"/> item.</param>
            /// <returns>The corresponding <see cref="ReferenceDataBase.Code"/>.</returns>
            protected override string GetKeyForItem(TItem item)
            {
                if (item == null)
                {
                    throw new ArgumentNullException("item");
                }

                return(_owner.ConvertCode(item.Code));
            }
 /// <summary>
 /// Gets the key (<see cref="ReferenceDataBase.Code"/>) for the <see cref="ReferenceDataBase"/> item.
 /// </summary>
 /// <param name="item">The <see cref="ReferenceDataBase"/> item.</param>
 /// <returns>The corresponding <see cref="ReferenceDataBase.Code"/>.</returns>
 protected override string GetKeyForItem(TItem item) => _owner.ConvertCode(Check.NotNull(item, nameof(item)).Code);