code: public static TypesPackage init()
  	{
  		if (isInited) return (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
  
  		// Obtain or create and register package
  		TypesPackageImpl theTypesPackage = (TypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TypesPackageImpl());
  
  		isInited = true;
  
  		// Create package meta-data objects
  		theTypesPackage.createPackageContents();
  
  		// Initialize created meta-data
  		theTypesPackage.initializePackageContents();
  
  		// Mark meta-data to indicate it can't be changed
  		theTypesPackage.freeze();
  
    
  		// Update the registry and return the package
  		EPackage.Registry.INSTANCE.put(TypesPackage.eNS_URI, theTypesPackage);
  		return theTypesPackage;
  	}
docs: Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
  
  <p>This method is used to initialize {@link TypesPackage#eINSTANCE} when that field is accessed.
  Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
  <!-- begin-user-doc -->
  <!-- end-user-doc -->
  @see #eNS_URI
  @see #createPackageContents()
  @see #initializePackageContents()
  @generated