public Gene_Type(JCas jcas, Type casType) {
    super(jcas, casType);
    casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());

    casFeat_ID = jcas.getRequiredFeatureDE(casType, "ID", "uima.cas.String", featOkTst);
    casFeatCode_ID = (null == casFeat_ID) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl) casFeat_ID)
            .getCode();

    casFeat_Begin = jcas.getRequiredFeatureDE(casType, "Begin", "uima.cas.Integer", featOkTst);
    casFeatCode_Begin = (null == casFeat_Begin) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_Begin).getCode();

    casFeat_End = jcas.getRequiredFeatureDE(casType, "End", "uima.cas.Integer", featOkTst);
    casFeatCode_End = (null == casFeat_End) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_End).getCode();

    casFeat_Words = jcas.getRequiredFeatureDE(casType, "Words", "uima.cas.String", featOkTst);
    casFeatCode_Words = (null == casFeat_Words) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_Words).getCode();

    casFeat_Confidence = jcas.getRequiredFeatureDE(casType, "Confidence", "uima.cas.Double",
            featOkTst);
    casFeatCode_Confidence = (null == casFeat_Confidence) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_Confidence).getCode();

    casFeat_Outershift = jcas.getRequiredFeatureDE(casType, "Outershift", "uima.cas.Integer",
            featOkTst);
    casFeatCode_Outershift = (null == casFeat_Outershift) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_Outershift).getCode();

    casFeat_Innershift = jcas.getRequiredFeatureDE(casType, "Innershift", "uima.cas.Integer",
            featOkTst);
    casFeatCode_Innershift = (null == casFeat_Innershift) ? JCas.INVALID_FEATURE_CODE
            : ((FeatureImpl) casFeat_Innershift).getCode();

  }