public String nextToken()
    {
        String tok;

        if (pos == maxPos)
        {
            throw new NoSuchElementException("no more tokens");
        }

        if (retDelims)
        {
            if (isDelim(pos))
            {
                tok = s.substring(pos, pos + 1);
                pos++;

                return tok;
            }
        }

        while (pos < maxPos && isDelim(pos))
        {
            pos++;
        }

        int start = pos;
        
        while (pos < maxPos && !isDelim(pos))
        {
            pos++;
        }

        if (pos < maxPos)
        {
            tok = s.substring(start, pos);
        }
        else
        {
            tok = s.substring(start);
        }

        return tok;
    }