docs: protected boolean createStandardSARLEventTemplates(String elementTypeName,
  			Function1<? super String, ? extends ISarlBehaviorUnitBuilder> behaviorUnitAdder,
  			Procedure1<? super String> usesAdder) {
  		if (!isCreateStandardEventHandlers()) {
  			return false;
  		}
  		Object type;
  		try {
  			type = getTypeFinder().findType(INITIALIZE_EVENT_NAME);
  		} catch (JavaModelException e) {
  			type = null;
  		}
  		if (type != null) {
  			// SARL Libraries are on the classpath
  
  			usesAdder.apply(LOGGING_CAPACITY_NAME);
  
  			ISarlBehaviorUnitBuilder unit = behaviorUnitAdder.apply(INITIALIZE_EVENT_NAME);
  			IBlockExpressionBuilder block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_9,
  					elementTypeName));
  			IExpressionBuilder expr = block.addExpression();
  			createInfoCall(expr, "The " + elementTypeName + " was started.");  //$NON-NLS-1$ //$NON-NLS-2$
  
  			unit = behaviorUnitAdder.apply(DESTROY_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_10,
  					elementTypeName));
  			expr = block.addExpression();
  			createInfoCall(expr, "The " + elementTypeName + " was stopped.");  //$NON-NLS-1$ //$NON-NLS-2$
  
  			unit = behaviorUnitAdder.apply(AGENTSPAWNED_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_11,
  					elementTypeName));
  
  			unit = behaviorUnitAdder.apply(AGENTKILLED_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_12,
  					elementTypeName));
  
  			unit = behaviorUnitAdder.apply(CONTEXTJOINED_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_13,
  					elementTypeName));
  
  			unit = behaviorUnitAdder.apply(CONTEXTLEFT_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_14,
  					elementTypeName));
  
  			unit = behaviorUnitAdder.apply(MEMBERJOINED_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_15,
  					elementTypeName));
  
  			unit = behaviorUnitAdder.apply(MEMBERLEFT_EVENT_NAME);
  			block = unit.getExpression();
  			block.setInnerDocumentation(MessageFormat.format(
  					Messages.AbstractNewSarlElementWizardPage_16,
  					elementTypeName));
  
  			return true;
  		}
  		return false;
  	}