public void submit(T entity) {
   submit(PrintUtils.objToSetValue(entity));
 }
 public void submit(T entity, String buttonName) {
   fill(PrintUtils.objToSetValue(entity));
   getElement.getButton(buttonName).click();
 }
 public void fill(T entity) {
   fill(PrintUtils.objToSetValue(entity));
 }
 protected void setValueAction(String value) {
   submit(PrintUtils.parseObjectAsString(value));
 }
 protected String getValueAction() {
   return PrintUtils.print(
       LinqUtils.select(
           ReflectionUtils.getFields(this, IHasValue.class),
           field -> ((IHasValue) ReflectionUtils.getFieldValue(field, this)).getValue()));
 }
 public void verify(T entity) {
   verify(PrintUtils.objToSetValue(entity), JDISettings.asserter::areEquals);
 }
 public void submit(T entity, Enum buttonName) {
   fill(PrintUtils.objToSetValue(entity));
   getElement.getButton(buttonName.toString().toLowerCase()).click();
 }