@SuppressWarnings("unchecked")
  protected void calcRows(List results) {
    if (results.size() == 0){
      setTruthValue(Boolean.FALSE);
      return;
    }
    if (results.size() == 1) {
      Object val = results.get(0);
      if ((val instanceof CycSymbol) && (((CycSymbol)val).toString().equalsIgnoreCase("nil"))) {
        setTruthValue(Boolean.TRUE);
        return;
      }
    }
    for (List<CycList> bindingSet : (List<List>)results) {
      List<Object> row = addEmptyRow();
      for (CycList binding : bindingSet) {
        CycVariable colVar = (CycVariable)binding.get(0);
        int colIndex = possiblyAddColVar(colVar);
        String col = colVar.toString();
        Object val = binding.rest();
        row.set(colIndex, val);
      }
    }
  }