docs: @Override
      public Object apply(Object value, Object... params) {
  
          if (value == null) {
              return "";
          }
  
          String text = super.asString(value);
          String[] words = text.split("\\s++");
          int length = 15;
          String truncateString = "...";
  
          if (params.length >= 1) {
              length = super.asNumber(super.get(0, params)).intValue();
          }
  
          if (params.length >= 2) {
              truncateString = super.asString(super.get(1, params));
          }
  
          if (length >= words.length) {
              return text;
          }
  
          return join(words, length) + truncateString;
      }