// returns true if change sbool cSmartSetField_withConverter(Concept c, S field, O value, ValueConverterForField converter) ctex { Field f = setOpt_findField(c.getClass(), field); if (f != null && converter != null && value != null) { OrError result = converter.convertValue(c, f, value); if (result == null) fail("Unknown conversion " + className(value) + " => " + f); if (!result.ok()) fail("Unknown conversion " + className(value) + " => " + f + ": " + result.error()); ret _csetField(c, field, result!); } ret _csetField(c, field, value); }