void declareProperty(String name, String val, String expectEval, boolean isFinal)
     throws IOException {
   appendProperty(name, val, isFinal);
   Prop p = new Prop();
   p.name = name;
   p.val = val;
   p.expectEval = expectEval;
   props.add(p);
 }