code: 
  /* First created by JCasGen Fri Nov 08 17:22:57 CET 2013 */
  package de.tudarmstadt.langtech.semantics.type;
  
  import org.apache.uima.jcas.JCas;
  import org.apache.uima.jcas.JCasRegistry;
  import org.apache.uima.cas.impl.CASImpl;
  import org.apache.uima.cas.impl.FSGenerator;
  import org.apache.uima.cas.FeatureStructure;
  import org.apache.uima.cas.impl.TypeImpl;
  import org.apache.uima.cas.Type;
  import org.apache.uima.jcas.tcas.Annotation_Type;
  
  /** 
   * Updated by JCasGen Fri Nov 08 17:22:57 CET 2013
   * @generated */
  public class Segment_Type extends Annotation_Type {
    /** @generated */
    @Override
    protected FSGenerator getFSGenerator() {return fsGenerator;}
    /** @generated */
    private final FSGenerator fsGenerator = 
      new FSGenerator() {
        public FeatureStructure createFS(int addr, CASImpl cas) {
    			 if (Segment_Type.this.useExistingInstance) {
    			   // Return eq fs instance if already created
    		     FeatureStructure fs = Segment_Type.this.jcas.getJfsFromCaddr(addr);
    		     if (null == fs) {
    		       fs = new Segment(addr, Segment_Type.this);
    			   Segment_Type.this.jcas.putJfsFromCaddr(addr, fs);
    			   return fs;
    		     }
    		     return fs;
          } else return new Segment(addr, Segment_Type.this);
    	  }
      };
    /** @generated */
    @SuppressWarnings ("hiding")
    public final static int typeIndexID = Segment.typeIndexID;
    /** @generated 
       @modifiable */
    @SuppressWarnings ("hiding")
    public final static boolean featOkTst = JCasRegistry.getFeatOkTst("de.tudarmstadt.ukp.dkpro.semantics.type.Segment");
  
  
  
    /** initialize variables to correspond with Cas Type and Features
  	* @generated */
    public Segment_Type(JCas jcas, Type casType) {
      super(jcas, casType);
      casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator());
  
    }
  }
  
  
  
      