code: @Override
      public Iterator<String> iterator() {
  
          Iterator<String> it = new Iterator<String>() {
  
              private boolean isFirst = true;
  
              @Override
              public boolean hasNext() {
  
                  return isFirst && !isEmpty();
              }
  
              @Override
              public String next() {
  
                  isFirst = false;
                  return getToString();
              }
  
              @Override
              public void remove() {
  
                  throw new UnsupportedOperationException();
              }
          };
          return it;
      }
docs: Supports the use of the <code>empty</code> operator in the JSP EL by implementing the Collection interface.<p>
  
  @return an empty Iterator in case {@link #isEmpty()} is <code>true</code>,
  otherwise an Iterator that will return the String value of this wrapper exactly once.<p>
  
  @see java.util.AbstractCollection#size()