public IObjectProvider GetObjectProvider([NotNull] Type type)
        {
            //- TODO: It might be nice to have an option to disable defaulting and throw an exception instead

            // Grab our registered mapping. If we don't have one, then use our default provider
            if (Mappings.ContainsKey(type))
            {
                return(Mappings[type]);
            }

            if (Parent != null && Parent.HasMapping(type))
            {
                return(Parent.GetObjectProvider(type));
            }

            return(FallbackProvider);
        }