// IMetadata

        /// <inheritdoc />
        public bool ContainsKey(string key) =>
        (Metadata?.ContainsKey(key) ?? false) ||
        PropertyMetadata <TDocument> .For((TDocument)this).ContainsKey(key) ||
        (BaseMetadata?.ContainsKey(key) ?? false);
        // IMetadata

        /// <inheritdoc />
        public bool ContainsKey(string key) =>
        (!IDocument.Properties.Contains(key) && Metadata?.ContainsKey(key) == true) ||
        PropertyMetadata <TDocument> .For((TDocument)this).ContainsKey(key) ||
        (BaseMetadata?.ContainsKey(key) ?? false);