code: private void extractFeatures(Set<EntityFeature> features, boolean normalFeature,
  		List<Glyph> list)
  	{
  		for (EntityFeature feature : features) {
  			if (feature instanceof ModificationFeature || feature instanceof FragmentFeature) {
  				Glyph stvar = factory.createGlyph();
  				stvar.setClazz(GlyphClazz.STATE_VARIABLE.getClazz());
  				Glyph.State state = featStrGen.createStateVar(feature, factory);
  				if (state != null) {
  					// Add a "!" in front of NOT features
  					if (!normalFeature) {
  						state.setValue("!" + state.getValue());
  					}
  					stvar.setState(state);
  					list.add(stvar);
  				}
  			}
  		}
  	}
docs: /*
  Converts the features in the given feature set. Adds a "!" in front of NOT features.
  
  @param features feature set
  @param normalFeature specifies the type of features -- normal feature = true,
  NOT feature = false
  @param list state variables