private void validatePartitioning(String name, Properties properties) {
		if (!isCapable(Capability.NATIVE_PARTITIONING)
				&& (StringUtils.hasText(properties.getProperty(BusProperties.PARTITION_KEY_EXPRESSION))
				|| StringUtils.hasText(properties.getProperty(BusProperties.PARTITION_KEY_EXTRACTOR_CLASS)))) {
			String nextModuleCount = properties.getProperty(BusProperties.NEXT_MODULE_COUNT);
			Assert.hasText(nextModuleCount,
					String.format(getClass().getSimpleName() + " requires partitioned data to be sent to a module "
							+ "having 'count' > 1 for '%s'", name));
			try {
				Assert.isTrue(Integer.parseInt(nextModuleCount) > 1,
						String.format(getClass().getSimpleName() + " requires that module '%s' sends partitioned data to a"
								+ " module having 'count' > 1", name));
			}
			catch (NumberFormatException e) {
				throw new IllegalArgumentException(String.format("Property '%s' for " +
								"module '%s' does not contain a valid integer, current value is '%s'",
						BusProperties.NEXT_MODULE_COUNT, name, nextModuleCount));
			}
		}
	}
Validate the provided deployment properties for the producer against those supported by this bus implementation.
When a module sends a message to the bus, the producer uses these properties while sending it to the underlying
infrastructure.
@param name The name.
@param properties The properties.
@param supported The supported properties.
spring-xd-messagebus-spi/src/main/java/org/springframework/xd/dirt/integration/bus/MessageBusSupport.java