code: @Override
      public int lastIndexOf(Object o) {
          if (o instanceof String) {
              String str = (String)o;
              return lastIndexOf(str);
          } else if (StrBase.class.isAssignableFrom(o.getClass())) {
              T str = $.cast(o);
              return lastIndexOf(str);
          } else if (o instanceof Character) {
              Character c = (Character) o;
              return lastIndexOf((int) c);
          } else if (o instanceof Integer) {
              Integer n = (Integer) o;
              return lastIndexOf(n);
          }
          return -1;
      }
docs: Returns the index within this str of the last occurrence of
  the specified object. The function will check if the object is
  an instance of StrBase, String, Character or Integer, and delegate
  to the {@code lastIndexOf(...)} override methods respectively.
  <p>If the object is not of the above types, then {@code -1} returned</p>
  @param o the object
  @return the index of the last occurrence of the object in this str