throws Throwable
  public static Value sprintf(String format, Value []args)    throws Throwable  {    ArrayList<PrintfSegment> segments = parsePrintfFormat(format);    StringBuilderValue sb = new StringBuilderValue();    for (PrintfSegment segment : segments)      segment.apply(sb, args);    return sb;  }