for (int i = 0; i < 4; i++) {
    private Object[] decodeResumptionToken(String token)        throws BadResumptionTokenException    {        Object[] obj = new Object[5];        StringTokenizer st = new StringTokenizer(token, "/", true);                // Extract from, until, set, prefix        for (int i = 0; i < 4; i++)        {            if (!st.hasMoreTokens())            {                throw new BadResumptionTokenException();            }            String s = st.nextToken();            // If this value is a delimiter /, we have no value for this part            // of the resumption token.            if (s.equals("/"))            {                obj[i] = null;            }            else            {                obj[i] = s;                // Skip the delimiter                st.nextToken();            }            log.debug("is: " + (String) obj[i]);        }                if (!st.hasMoreTokens())        {            throw new BadResumptionTokenException();        }                // Extract offset        try        {            obj[4] = new Integer(st.nextToken());        }        catch (NumberFormatException nfe)        {            throw new BadResumptionTokenException();        }                return obj;    }