Castle.Windsor: resolução opcional do componente de uma fábrica digitada

Eu tenho uma instalação de serviço WCF com Castle.Windsor; As mensagens chegam a um expedidor que as envia ao componente certo (basicamente umIHandler<Message> com a mensagem sendo uma consulta).

No entanto, em alguns casos, há um adicional antes que o manipulador possa agir; a mensagem deve ser concluída com dados provenientes de outro local. O que eu quero é verificar se existe um injetor para o tipo de minha mensagem e, se existir, execute-o.

IInjector<Message> Injector = InjectorFactory.RetrieveInjector<Message>();
if (Injector != null)
{
    Logger.InfoFormat("IInjector<{0}> OK", input.GetType().Name);
    Injector.InjectCode(input, "Data coming from somewhere else");
}

O raciocínio por trás disso é que, em algum momento futuro, alguém poderá criar um plugin com umIInjector<Message> e quero buscá-lo no futuro; mas no momento não existe.

É possível ter uma fábrica digitada retornando nulo quando um componente não é encontrado em vez de lançar umComponentNotFoundException?

EDITAR

Como discutido com @Steven, responderei minha própria pergunta para compilar o que me levou à solução e à resolução que encontrei. Primeiro vamos reafirmar o problema

Eu tenho um serviço WCF basicamente seguindo a estrutura descrita por Krzysztof KoĹşmic emEste artigo

No entanto, antes de chamar os manipuladores, eu queria ter uma operação opcional em que a mensagem recebida fosse modificada, se necessário.

private static void DoActualWork<T>(T command)
{
    IInjector<T> Injector = injectorFactory.GetInjector<T>();
    if (Injector != null) { Injector.InjectThings(command, ""); }
    var handlers = factory.GetHandlersForCommand(command);
    foreach (var handler in handlers)
    {
        handler.Execute();
    }
}

Eu estava tendo um problema com o injectorFactory; quando eu pedi para encontrar um componente inexistente, jogaria umComponentNotFoundException. O que eu gostaria é que a fábrica reconheça que não havia nenhum componente e simplesmente retorne um valor nulo.

questionAnswers(1)

yourAnswerToTheQuestion