docs: @Override
      public void set(Object value)
      {
          try
          {
              Object v = ConvertUtility.convert(type, value);
              if (field != null)
              {
                  field.set(getBase(), v);
              }
              else
              {
                  setter.invoke(getBase(), v);
              }
          }
          catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex)
          {
              throw new IllegalArgumentException(ex);
          }
      }