code: private boolean needsToBeCreatedInitially(Entity ent) {
  		boolean create = false;
  
  		if(ent instanceof PhysicalEntity || ent instanceof Gene) {
  			if(ubiqueDet != null && ubiqueDet.isUbique(ent))
  				create = false; // ubiques will be created where they are actually used.
  			else if (!ent.getParticipantOf().isEmpty())
  				create = true;
  			else if(ent instanceof Complex && ((Complex) ent).getComponentOf().isEmpty()
  					&& ((Complex) ent).getMemberPhysicalEntityOf().isEmpty())
  				create = true; //do make a root/top complex despite it's dangling
  		}
  
  		return create;
  	}
docs: /*
  Initially, we don't want to represent every PhysicalEntity or Gene node.
  For example, if a Complex is nested under another Complex,
  and if it is not a participant of any interaction,
  then we don't want to draw it separately; also skip for dangling entities.
  
  @param ent physical entity or gene (it returns false for other entity types) to test
  @return true if we want to draw this entity in SBGN; false - otherwise, or - to be auto-created later