docs: @Override
      public boolean validate(boolean show) {
          Boolean oldValid = valid;
          valid = true;
          if (errorHandler != null && !validators.isEmpty()) {
              List<EditorError> errors = new ArrayList<>();
              for (ValidatorWrapper<V> wrapper : validators) {
                  Validator<V> validator = wrapper.getValidator();
                  List<EditorError> result = validator.validate(inputWidget, inputWidget.getValue());
                  if (result != null && !result.isEmpty()) {
                      errors.addAll(result);
                      valid = false;
                  }
              }
              if (show) {
                  if (errors.size() > 0) {
                      errorHandler.showErrors(errors);
                  } else {
                      errorHandler.clearErrors();
                  }
              }
          }
          if (valid != oldValid) {
              eventBus.fireEvent(new ValidationChangedEvent(valid));
          }
          return valid;
      }