docs: @Override
      public boolean isValid(Object input) {
          Float d;
          try {
              d = (Float) input;
          } catch (Exception e) {
              return false;
          }
  
          if (allowNaN && Float.isNaN(d))
              return true;
          if (allowInfinite && Float.isInfinite(d))
              return true;
  
          if (minAllowedValue != null && d < minAllowedValue)
              return false;
          if (maxAllowedValue != null && d > maxAllowedValue)
              return false;
  
          return true;
      }