@Override
	public void deploy(String name, Map<String, String> properties) {
		validateBeforeDeploy(name, properties);

		final D definition = basicDeploy(name, properties);

		final I instance = makeInstance(definition);
		instanceRepository.save(instance);
		deployResource(name);
	}
Base support class for deployers that know how to deal with {@link BaseInstance instances} of a
{@link BaseDefinition definition}.

@param D the kind of definition this deployer deals with
@param I the corresponding instance type

@author Eric Bottard
@author Ilayaperumal Gopinathan
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/stream/AbstractInstancePersistingDeployer.java