protected boolean bindNewProducerDirectlyIfPossible(String name, SubscribableChannel moduleOutputChannel,
			AbstractBusPropertiesAccessor properties) {
		if (!properties.isDirectBindingAllowed()) {
			return false;
		}
		else if (isNamedChannel(name)) {
			return false;
		}
		else if (this.revertingDirectBinding.get() != null) {
			// we're in the process of unbinding a direct binding
			this.revertingDirectBinding.remove();
			return false;
		}
		else {
			Binding consumerBinding = null;
			synchronized (this.bindings) {
				for (Binding binding : this.bindings) {
					if (binding.getName().equals(name) && Binding.CONSUMER.equals(binding.getType())) {
						consumerBinding = binding;
						break;
					}
				}
			}
			if (consumerBinding == null) {
				return false;
			}
			else {
				bindProducerDirectly(name, moduleOutputChannel, consumerBinding.getChannel(), properties);
				return true;
			}
		}
	}
Attempt to create a direct binding (avoiding the bus) if the consumer is local. Named channel producers are not
bound directly.
@param name The name.
@param moduleOutputChannel The channel to bind.
@param properties The producer properties.
@return true if the producer is bound.
spring-xd-messagebus-spi/src/main/java/org/springframework/xd/dirt/integration/bus/MessageBusSupport.java