docs: protected void _generate(SarlBehaviorUnit handler, PyAppendable it, IExtraLanguageGeneratorContext context) {
  		final JvmTypeReference event = handler.getName();
  		final String handleName = it.declareUniqueNameVariable(handler, "__on_" + event.getSimpleName() + "__"); //$NON-NLS-1$ //$NON-NLS-2$
  		it.append("def ").append(handleName).append("(self, occurrence):"); //$NON-NLS-1$ //$NON-NLS-2$
  		it.increaseIndentation().newLine();
  		generateDocString(getTypeBuilder().getDocumentation(handler), it);
  		if (handler.getExpression() != null) {
  			generate(handler.getExpression(), null, it, context);
  		} else {
  			it.append("pass"); //$NON-NLS-1$
  		}
  		it.decreaseIndentation().newLine();
  		final String key = this.qualifiedNameProvider.getFullyQualifiedName(handler.getDeclaringType()).toString();
  		final Map<String, Map<String, List<Pair<XExpression, String>>>> map = context.getMapData(EVENT_GUARDS_MEMENTO);
  		Map<String, List<Pair<XExpression, String>>> submap = map.get(key);
  		if (submap == null) {
  			submap = new HashMap<>();
  			map.put(key, submap);
  		}
  		final String eventId = event.getIdentifier();
  		List<Pair<XExpression, String>> guards = submap.get(eventId);
  		if (guards == null) {
  			guards = new ArrayList<>();
  			submap.put(eventId, guards);
  		}
  		guards.add(new Pair<>(handler.getGuard(), handleName));
  	}