public boolean skipPast(String to) throws JSONException {
		boolean b;
		char c;
		int i;
		int j;
		int offset= 0;
		int length= to.length();
		char[] circle= new char[length];

		/*
		 * First fill the circle buffer with as many characters as are in the to
		 * string. If we reach an early end, bail.
		 */

		for (i= 0; i < length; i+= 1) {
			c= next();
			if (c == 0)
				return false;
			circle[i]= c;
		}
		/*
		 * We will loop, possibly for all of the remaining characters.
		 */
		for (;;) {
			j= offset;
			b= true;
			/*
			 * Compare the circle buffer with the to string.
			 */
			for (i= 0; i < length; i+= 1) {
				if (circle[j] != to.charAt(i)) {
					b= false;
					break;
				}
				j+= 1;
				if (j >= length) {
					j-= length;
				}
			}
			/*
			 * If we exit the loop with b intact, then victory is ours.
			 */
			if (b)
				return true;
			/*
			 * Get the next character. If there isn't one, then defeat is ours.
			 */
			c= next();
			if (c == 0)
				return false;
			/*
			 * Shove the character in the circle buffer and advance the circle
			 * offset. The offset is mod n.
			 */
			circle[offset]= c;
			offset+= 1;
			if (offset >= length) {
				offset-= length;
			}
		}
	}