code: @Override
  	public String createMachine( TargetHandlerParameters parameters ) throws TargetException {
  
  		this.logger.fine( "Creating a new agent in memory." );
  		Map<String,String> targetProperties = preventNull( parameters.getTargetProperties());
  
  		// Need to wait?
  		try {
  			String delayAsString = targetProperties.get( DELAY );
  			long delay = delayAsString != null ? Long.parseLong( delayAsString ) : this.defaultDelay.get();
  			if( delay > 0 )
  				Thread.sleep( delay );
  
  		} catch( Exception e ) {
  			this.logger.warning( "An error occurred while applying the delay property. " + e.getMessage());
  			Utils.logException( this.logger, e );
  		}
  
  		String machineId = parameters.getScopedInstancePath() + " @ " + parameters.getApplicationName();
  		Factory factory = findIPojoFactory( parameters );
  		createIPojo(
  				targetProperties,
  				parameters.getMessagingProperties(),
  				machineId,
  				parameters.getScopedInstancePath(),
  				parameters.getApplicationName(),
  				parameters.getDomain(),
  				factory );
  
  		return machineId;
  	}
docs: /*
  (non-Javadoc)
  @see net.roboconf.target.api.TargetHandler
  #createMachine(net.roboconf.target.api.TargetHandlerParameters)