throws Throwable
  public static Value strpos(String haystack,                             Value needleV,                             @Optional Value offsetV)    throws Throwable  {    String needle;    if (needleV instanceof StringValue)      needle = needleV.toString();    else      needle = String.valueOf((char) needleV.toInt());    int offset = offsetV.toInt();    int pos = haystack.indexOf(needle, offset);    if (pos < 0)      return BooleanValue.FALSE;    else      return new LongValue(pos);  }