/// <summary>
        /// See <see cref="IBuilderStrategy.BuildUp"/> for more information.
        /// </summary>
        public virtual object BuildUp(IBuilderContext context, Type typeToBuild, object existing, string idToBuild)
        {
            IBuilderStrategy next = context.GetNextInChain(this);

            if (next != null)
            {
                return(next.BuildUp(context, typeToBuild, existing, idToBuild));
            }
            else
            {
                return(existing);
            }
        }
        public virtual object BuildUp(IBuilderContext context,
                                      object buildKey,
                                      object existing)
        {
            IBuilderStrategy next = context.GetNextInChain(this);

            if (next != null)
            {
                return(next.BuildUp(context, buildKey, existing));
            }

            return(existing);
        }