private String getDebugString(int max) {
   assert max > 0;
   StringBuffer result = new StringBuffer();
   int start = Math.max(offset - max, 0);
   int end = Math.min(offset + max, tokens.size());
   for (int i = start; i < end; i++) {
     JavaScriptToken token = tokens.get(i);
     if (i == offset - 1) {
       result.append(" ---> ");
     }
     result.append(token.getValue());
     if (i == offset - 1) {
       result.append(" <--- ");
     }
   }
   return result.toString();
 }