code: public static PureXbasePackage init()
    {
      if (isInited) return (PureXbasePackage)EPackage.Registry.INSTANCE.getEPackage(PureXbasePackage.eNS_URI);
  
      // Obtain or create and register package
      PureXbasePackageImpl thePureXbasePackage = (PureXbasePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PureXbasePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PureXbasePackageImpl());
  
      isInited = true;
  
      // Initialize simple dependencies
      XbasePackage.eINSTANCE.eClass();
      XtypePackage.eINSTANCE.eClass();
  
      // Create package meta-data objects
      thePureXbasePackage.createPackageContents();
  
      // Initialize created meta-data
      thePureXbasePackage.initializePackageContents();
  
      // Mark meta-data to indicate it can't be changed
      thePureXbasePackage.freeze();
  
    
      // Update the registry and return the package
      EPackage.Registry.INSTANCE.put(PureXbasePackage.eNS_URI, thePureXbasePackage);
      return thePureXbasePackage;
    }
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 PureXbasePackage#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