code: private Glyph createGlyphBasics(Entity e, boolean idIsFinal)
  	{
  		Glyph g = factory.createGlyph();
  		g.setId(convertID(e.getUri()));
  
  		String s = typeMatchMap.get(e.getModelInterface());
  		if(( //use 'or' sbgn class for special generic physical entities
  			e instanceof Complex && !((Complex)e).getMemberPhysicalEntity().isEmpty()
  				&& ((Complex) e).getComponent().isEmpty())
  			||
  			(e instanceof SimplePhysicalEntity && ((SimplePhysicalEntity) e).getEntityReference()==null
  				&& !((SimplePhysicalEntity) e).getMemberPhysicalEntity().isEmpty()))
  		{
  			s = GlyphClazz.OR.getClazz();
  		}
  		g.setClazz(s);
  
  		// Set the label
  		Label label = factory.createLabel();
  		label.setText(findLabelFor(e));
  		g.setLabel(label);
  
  		// Detect if ubique
  		if (ubiqueDet != null && ubiqueDet.isUbique(e))
  		{
  			g.setClone(factory.createGlyphClone());
  		}
  
  		// Put on state variables
  		if (!g.getClazz().equals(GlyphClazz.OR.getClazz())) {
  			g.getGlyph().addAll(getInformation(e));
  		}
  
  		// Record the mapping
  		if (idIsFinal) {
  			Set<String> uris = new HashSet<String>();
  			uris.add(e.getUri());
  			sbgn2BPMap.put(g.getId(), uris);
  		}
  
  		return g;
  	}
docs: /*
  This method creates a glyph for the given PhysicalEntity, sets its title and state variables
  if applicable.
  
  @param e PhysicalEntity or Gene to represent
  @param idIsFinal if ID is final, then it is recorded for future reference
  @return the glyph