@Override
  public void check() throws SemanticCheckException {
    Catagory cata = getCatagory();
    if (cata instanceof Chemical) {
      throw new SemanticCheckException(
          "Special functions cannot be called within chemical equations");
    }
    VarietyConcentration foodSet = cata.checkVarietyConcTable(identifier.getName());
    if (foodSet == null) {
      throw new SemanticCheckException(identifier.getName() + " is not a known food set");
    }
    threshold.check();
    rate.check();
    // TODO: Check that if things are varieties that they link back to appropriate food set

  }
 @Override
 public String generateLatex() {
   String id = "???";
   if (identifier != null) id = identifier.generateLatex();
   String thresh = "???";
   if (threshold != null) thresh = threshold.generateLatex();
   String rp = "???";
   if (rate != null) rp = rate.generateLatex();
   return " ingest(" + id + "," + thresh + " , " + rp + ")";
 }
 @Override
 public String generateXML() {
   return "\\ingest{"
       + identifier.generateXML()
       + ","
       + threshold.generateXML()
       + ","
       + rate.generateXML()
       + "}";
 }