docs: @Override
  	public EObject create(EClass eClass)
  	{
  		switch (eClass.getClassifierID())
  		{
  			case SarlPackage.SARL_SCRIPT: return createSarlScript();
  			case SarlPackage.SARL_FIELD: return createSarlField();
  			case SarlPackage.SARL_BREAK_EXPRESSION: return createSarlBreakExpression();
  			case SarlPackage.SARL_CONTINUE_EXPRESSION: return createSarlContinueExpression();
  			case SarlPackage.SARL_ASSERT_EXPRESSION: return createSarlAssertExpression();
  			case SarlPackage.SARL_ACTION: return createSarlAction();
  			case SarlPackage.SARL_CONSTRUCTOR: return createSarlConstructor();
  			case SarlPackage.SARL_BEHAVIOR_UNIT: return createSarlBehaviorUnit();
  			case SarlPackage.SARL_CAPACITY_USES: return createSarlCapacityUses();
  			case SarlPackage.SARL_REQUIRED_CAPACITY: return createSarlRequiredCapacity();
  			case SarlPackage.SARL_CLASS: return createSarlClass();
  			case SarlPackage.SARL_INTERFACE: return createSarlInterface();
  			case SarlPackage.SARL_ENUMERATION: return createSarlEnumeration();
  			case SarlPackage.SARL_ANNOTATION_TYPE: return createSarlAnnotationType();
  			case SarlPackage.SARL_ENUM_LITERAL: return createSarlEnumLiteral();
  			case SarlPackage.SARL_EVENT: return createSarlEvent();
  			case SarlPackage.SARL_CASTED_EXPRESSION: return createSarlCastedExpression();
  			case SarlPackage.SARL_SPACE: return createSarlSpace();
  			case SarlPackage.SARL_ARTIFACT: return createSarlArtifact();
  			case SarlPackage.SARL_AGENT: return createSarlAgent();
  			case SarlPackage.SARL_CAPACITY: return createSarlCapacity();
  			case SarlPackage.SARL_BEHAVIOR: return createSarlBehavior();
  			case SarlPackage.SARL_SKILL: return createSarlSkill();
  			case SarlPackage.SARL_FORMAL_PARAMETER: return createSarlFormalParameter();
  			default:
  				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
  		}
  	}