static O convertToField(O o, Class c, S field) { Field f = setOpt_findField(c, field); if (f == null) ret o; Class t = f.getType(); if (t == Long.class || t == long.class) ret toLong(o); else if (t == Int.class || t == int.class) ret toInt(o); else if (t == Float.class || t == float.class) ret toFloat(o); else if (t == Double.class || t == double.class) ret toDouble(o); else if (t == S.class) ret o cast S ? o : str(o); else if (t == File.class) { if (o cast S) ret new File(o).getAbsoluteFile(); } else if (t == Pt.class) { if (o cast S) ret parsePt(o); } else if (t == Rect) { if (o cast S) ret parseRect(o); } ifclass GlobalID else if (t == GlobalID.class && o instanceof S) ret GlobalID((S) o); endif ret o; }