+ String value = null;
+ if (field.length() > 0 && field.charAt(0) == '\'') {
+ value = field.substring(1);
+ } else if (valueNum >= 0) {
+ List<String> vv = getPreferredData(field).getValues();
+ if (valueNum < vv.size()) {
+ value = vv.get(valueNum);
+ }
+ } else if (fieldNum >= 0) {
+ List<String> ff = getPreferredData(field).getFields();
+ if (fieldNum < ff.size()) {
+ value = ff.get(fieldNum);
+ }
+ } else {
+ // we don't need the *data* in binary mode...
+ if (binary)
+ value = getData(field).size() > 0 ? "x" : null;
+ else
+ value = getPreferredDataValue(field);
+ }
+