public string ToShortString()
        {
            var returnString =
                $"{Key.ToKeyString()}," +
                $" {DateKey.ToShortDateString()}," +
                $" {Text}," +
                $" {ParentWithDictionary.ToShortString()}," +
                $" {ParentWithDictionaryNullable?.ToShortString()}";

            onToShortString(ref returnString);
            return(returnString);
        }
        public override string ToString()
        {
            var returnString =
                $"Key: {Key.ToKeyString()}," +
                $" DateKey: {DateKey.ToShortDateString()}," +
                $" Text: {Text}," +
                $" ParentWithDictionary: {ParentWithDictionary.ToShortString()}," +
                $" ParentWithDictionaryNullable: {ParentWithDictionaryNullable?.ToShortString()};";

            onToString(ref returnString);
            return(returnString);
        }
        public string ToTraceString()
        {
            var returnString =
                $"{this.GetKeyOrHash()}|" +
                $" {DateKey.ToShortDateString()}|" +
                $" {Text}|" +
                $" ParentWithDictionary {ParentWithDictionary.GetKeyOrHash()}|" +
                $" ParentWithDictionaryNullable {ParentWithDictionaryNullable?.GetKeyOrHash()}";

            onToTraceString(ref returnString);
            return(returnString);
        }