/// <inheritdoc/>
            protected internal override object CreateValue()
            {
                SerializableDictionary dictionary = property.GetDictionary();

                DictionaryDataWrapper data = new DictionaryDataWrapper();

                data.value = SerializableUtility.Create(dictionary.ValueType);

                SerializableProperty valueProperty = new SerializableProperty(dictionary.ValuePropertyType,
                                                                              dictionary.ValueType,
                                                                              () => data.value, (x) => data.value = x);

                return(valueProperty);
            }
 /// <inheritdoc/>
 protected internal override object CreateValue()
 {
     return(SerializableUtility.Create <Value>());
 }
 /// <inheritdoc/>
 protected internal override object CreateKey()
 {
     return(SerializableUtility.Create <Key>());
 }