@Override
		public void run() {
			scheduled.set(false);
			ContainerArrival containerArrival = latestContainer.get();
			if (containerArrival != null) {
				if (System.currentTimeMillis() >= containerArrival.timestamp + quietPeriod.get()) {
					try {
						containerMatchingModuleRedeployer.deployModules(containerArrival.container);
						latestContainer.compareAndSet(containerArrival, null);
					}
					catch (Exception e) {
						logger.error("Error deploying to container " + containerArrival.container, e);
					}
				}
				else {
					logger.trace("Quiet period not over yet; rescheduling container deployment");
					schedule();
				}
			}
			else {
				logger.trace("Arrived container already processed");
			}
		}
If {@link #quietPeriod} milliseconds have passed since the
newest container arrived (see {@link #latestContainer}),
deploy new modules using {@link #arrivingContainerDeployer}.
If the quiet period has not elapsed, reschedule execution
of this runnable.
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/server/admin/deployment/zk/ContainerListener.java