docs: @Override
  	public EObject create(EClass eClass) {
  		switch (eClass.getClassifierID()) {
  			case BpsimPackage.BETA_DISTRIBUTION_TYPE: return createBetaDistributionType();
  			case BpsimPackage.BINOMIAL_DISTRIBUTION_TYPE: return createBinomialDistributionType();
  			case BpsimPackage.BOOLEAN_PARAMETER_TYPE: return createBooleanParameterType();
  			case BpsimPackage.BP_SIM_DATA_TYPE: return createBPSimDataType();
  			case BpsimPackage.CALENDAR: return createCalendar();
  			case BpsimPackage.CONSTANT_PARAMETER: return createConstantParameter();
  			case BpsimPackage.CONTROL_PARAMETERS: return createControlParameters();
  			case BpsimPackage.COST_PARAMETERS: return createCostParameters();
  			case BpsimPackage.DATE_TIME_PARAMETER_TYPE: return createDateTimeParameterType();
  			case BpsimPackage.DISTRIBUTION_PARAMETER: return createDistributionParameter();
  			case BpsimPackage.DOCUMENT_ROOT: return createDocumentRoot();
  			case BpsimPackage.DURATION_PARAMETER_TYPE: return createDurationParameterType();
  			case BpsimPackage.ELEMENT_PARAMETERS: return createElementParameters();
  			case BpsimPackage.ELEMENT_PARAMETERS_TYPE: return createElementParametersType();
  			case BpsimPackage.ENUM_PARAMETER_TYPE: return createEnumParameterType();
  			case BpsimPackage.ERLANG_DISTRIBUTION_TYPE: return createErlangDistributionType();
  			case BpsimPackage.EXPRESSION_PARAMETER_TYPE: return createExpressionParameterType();
  			case BpsimPackage.FLOATING_PARAMETER_TYPE: return createFloatingParameterType();
  			case BpsimPackage.GAMMA_DISTRIBUTION_TYPE: return createGammaDistributionType();
  			case BpsimPackage.LOG_NORMAL_DISTRIBUTION_TYPE: return createLogNormalDistributionType();
  			case BpsimPackage.NEGATIVE_EXPONENTIAL_DISTRIBUTION_TYPE: return createNegativeExponentialDistributionType();
  			case BpsimPackage.NORMAL_DISTRIBUTION_TYPE: return createNormalDistributionType();
  			case BpsimPackage.NUMERIC_PARAMETER_TYPE: return createNumericParameterType();
  			case BpsimPackage.PARAMETER: return createParameter();
  			case BpsimPackage.PARAMETER_VALUE: return createParameterValue();
  			case BpsimPackage.POISSON_DISTRIBUTION_TYPE: return createPoissonDistributionType();
  			case BpsimPackage.PRIORITY_PARAMETERS: return createPriorityParameters();
  			case BpsimPackage.PROPERTY_PARAMETERS: return createPropertyParameters();
  			case BpsimPackage.PROPERTY_TYPE: return createPropertyType();
  			case BpsimPackage.RESOURCE_PARAMETERS: return createResourceParameters();
  			case BpsimPackage.SCENARIO: return createScenario();
  			case BpsimPackage.SCENARIO_PARAMETERS: return createScenarioParameters();
  			case BpsimPackage.SCENARIO_PARAMETERS_TYPE: return createScenarioParametersType();
  			case BpsimPackage.STRING_PARAMETER_TYPE: return createStringParameterType();
  			case BpsimPackage.TIME_PARAMETERS: return createTimeParameters();
  			case BpsimPackage.TRIANGULAR_DISTRIBUTION_TYPE: return createTriangularDistributionType();
  			case BpsimPackage.TRUNCATED_NORMAL_DISTRIBUTION_TYPE: return createTruncatedNormalDistributionType();
  			case BpsimPackage.UNIFORM_DISTRIBUTION_TYPE: return createUniformDistributionType();
  			case BpsimPackage.USER_DISTRIBUTION_DATA_POINT_TYPE: return createUserDistributionDataPointType();
  			case BpsimPackage.USER_DISTRIBUTION_TYPE: return createUserDistributionType();
  			case BpsimPackage.VENDOR_EXTENSION: return createVendorExtension();
  			case BpsimPackage.WEIBULL_DISTRIBUTION_TYPE: return createWeibullDistributionType();
  			default:
  				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
  		}
  	}