String fieldId = StringConversions.makeCapitalizedIdentifier(field.getId());
	private void genGetField(Type type, Field field) {		String type_id = StringConversions.makeIdentifier(type.getId());		String type_name = buildTypeName(type);		String field_type_name = buildTypeName(field.getType());		String fieldId = StringConversions.makeCapitalizedIdentifier(field.getId());		String decl =			field_type_name				+ " "				+ buildGetterName(type, field)				+ "("				+ type_name				+ " arg)";		hprintln(decl + ";");		printFoldOpen( decl);		println(decl);		println("{");		Iterator locs = field.locationIterator();		boolean first = true;		while (locs.hasNext()) {			Location loc = (Location) locs.next();			print("  ");			if (first) {				first = false;			}			else {				print("else ");			}			if (locs.hasNext()) {				println(					"if (" + buildIsAltName(type, loc.getAltId()) + "(arg)) {");			}			else {				println("");			}			print("    return (" + field_type_name + ")");			Iterator steps = loc.stepIterator();			String[] type_getter = genReservedTypeGetter(field.getType());			print(type_getter[0]);			genGetterSteps(steps, "arg");			print(type_getter[1]);			println(";");			if (locs.hasNext()) {				println("  }");			}		}				println("}");		printFoldClose();	}