code: @Override
      protected void prepare() throws JspTagException {
          if (items instanceof ValueExpression) {
              deferredExpression = (ValueExpression) items;
              itemsValueIteratedExpression = new IteratedExpression(deferredExpression, getDelims());
              currentIndex = 0;
  
              Object originalValue = deferredExpression.getValue(pageContext.getELContext());
              if (originalValue instanceof String) {
                  st = new StringTokenizer((String) originalValue, delims);
              } else {
                  throw new JspTagException();
              }
          } else {
              st = new StringTokenizer((String) items, delims);
          }
      }
docs: /*
  These just create and use a StringTokenizer.
  We inherit semantics and Javadoc from LoopTagSupport.