private static JsonArray parseArray(Buffer<Token> buf) throws JsonParseException
	{
		Token tkn = buf.next();
		
		if (!"[".equalsIgnoreCase(tkn.str))
		{
			throw new JsonParseException("Found \"%s\" at line %s, col %s; Was expecting \"[\"", tkn.str, tkn.line, tkn.col);
		}
		
		JsonArray ret = new JsonArray();
		boolean kill = false;
		
		while (!"]".equalsIgnoreCase((tkn = buf.next(false)).str))
		{
			skipWhitespace(buf);
			
			ret.add(parseValue(buf));
			
			skipWhitespace(buf);
			
			if (!",".equalsIgnoreCase((tkn = buf.next()).str))
			{
				if (kill)
				{
					throw new JsonParseException("Found \"%s\" at line %s, col %s; Was expecting \",\"!", tkn.str, tkn.line, tkn.col);
				}
				
				kill = true;
				
			}
			
			skipWhitespace(buf);
			
		}
		
		return ret;
	}