code: @Override
  	public String createMachine( TargetHandlerParameters parameters ) throws TargetException {
  
  		this.logger.fine( "Creating a new VM @ OCCI." );
  
  		// For IaaS, we only expect root instance names to be passed
  		if( InstanceHelpers.countInstances( parameters.getScopedInstancePath()) > 1 )
  			throw new TargetException( "Only root instances can be passed in arguments." );
  
  		// Deal with the creation
  		try {
  			UUID id = UUID.randomUUID();
  			Map<String, String> targetProperties = parameters.getTargetProperties();
  
  			String userData = UserDataHelpers.writeUserDataAsString(
  					parameters.getMessagingProperties(),
  					parameters.getDomain(),
  					parameters.getApplicationName(),
  					parameters.getScopedInstancePath());
  
  			if("json".equalsIgnoreCase(targetProperties.get(RENDERING))) {
  				return OcciVMUtils.createVMJson(targetProperties.get(SERVER_IP_PORT),
  					id.toString(),
  					targetProperties.get(IMAGE),
  					targetProperties.get(TITLE),
  					targetProperties.get(SUMMARY),
  					userData,
  					targetProperties.get(USER),
  					targetProperties.get(PASSWORD),
  					targetProperties,
  					false);
  			} else {
  				return OcciVMUtils.createVM(targetProperties.get(SERVER_IP_PORT),
  						id.toString(),
  						targetProperties.get(IMAGE),
  						targetProperties.get(TITLE),
  						targetProperties.get(SUMMARY),
  						userData,
  						targetProperties.get(USER),
  						targetProperties.get(PASSWORD),
  						targetProperties);
  			}
  		} catch( Exception e ) {
  			throw new TargetException(e);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see net.roboconf.target.api.TargetHandler
  #createMachine(net.roboconf.target.api.TargetHandlerParameters)