private RabbitMQProducerDeclaration GetDeclaration <TPayload>(Action <IRabbitMQProducerBuilder <TPayload> > overrides) { var producerDeclaration = options.ProducerDeclarations.TryGetValue(typeof(TPayload), out var declaration) ? declaration : throw new RabbitMQMissingDeclarationException(typeof(TPayload)); if (overrides != null) { producerDeclaration = RabbitMQProducerDeclaration.FromDeclaration(producerDeclaration); overrides(new RabbitMQProducerBuilder <TPayload>(producerDeclaration)); } return(producerDeclaration); }