case TASKSETUPTIME: case TASKWRAPUPTIME:
  public String getResultType() {    switch (operation) {    case EQ:    case NE:    case LT:    case GT:    case LE:    case GE:    case AND:    case OR:    case NOT:      return "boolean";    case PLUS:      if (argTypes[0].equals ("number") && argTypes[1].equals ("number"))        return "number";      if (argTypes[0].equals ("number") && argTypes[1].equals ("datetime"))        return "datetime";      if (argTypes[0].equals ("datetime") && argTypes[1].equals ("number"))        return "datetime";      return "";    case MINUS:      if (argTypes[0].equals ("number") && argTypes[1].equals ("number"))        return "number";      if (argTypes[0].equals ("datetime") && argTypes[1].equals ("datetime"))        return "number";      if (argTypes[0].equals ("datetime") && argTypes[1].equals ("number"))        return "datetime";      return "";    case TIMES:    case DIVIDE:    case MOD:    case ABS:      return "number";    case IF:      return argTypes[1];    case MAX:    case MIN:      return argTypes[0];    case SUMOVER:      return "number";    case MINOVER:    case MAXOVER:      return argTypes[2];    case ANDOVER:    case OROVER:      return "boolean";    case MAPOVER:    case LOOP:      return isList (argTypes[2]) ? argTypes[2] : ("list:" + argTypes[2]);    case LIST:      return "list:" + argTypes[0];    case LENGTH:      return "number";    case POSITION:      return "number";    case DIST:      return "number";    case LATLONG_OP:      return "latlong";    case XY_COORD_OP:      return "xy_coord";    case INTERVAL_OP:      return "interval";    case STRING:      return "string";    case GET:    case GLOBALGET:      return argTypes[2];    case ENTRY:      return argTypes[0].substring(5);    case MATENTRY:      return "number";    case BUSYTIME:    case PREPTIME:      return "number";    case COMPLETE:      return "datetime";    case HASVALUE:      return "boolean";    case TASKSTARTTIME:    case TASKENDTIME:      return "datetime";    case RESOURCEFOR:      return "resource";    case TASKSFOR:    case GROUPFOR:      return "list:task";    case FIND:      return argTypes[0].substring(5);    case APPEND:      return argTypes[0];    case PREVIOUSDELTA:      return "number";    default:      System.out.println ("Unimplemented operation " + opStrings[operation]);      return "";    }  }