protected T coerce(T newValue) {
   try {
     return (T) converter.apply1(newValue);
   } catch (Throwable ex) {
     throw WrappedException.rethrow(ex);
   }
 }