code: public void discardArrayToken() throws IOException, JsonFormatException, IllegalStateException {
  		State state = lookAhead();
  		switch (state) {
  			case START_ARRAY:
  				getEventType();
  				while ((state = lookAhead()) != State.END_ARRAY) {
  					switch (state) {
  						case START_ARRAY:
  							discardArrayToken();
  							break;
  						case START_HASH:
  							discardHashToken();
  							break;
  						case VALUE_NULL:
  						case VALUE_STRING:
  						case VALUE_BOOLEAN:
  						case VALUE_LONG:
  						case VALUE_DOUBLE:
  							getEventType();
  							break;
  						default:
  							throw new IllegalStateException("unexpected token. token=" + state);
  					}
  				}
  				getEventType();
  
  				break;
  			case VALUE_NULL:
  				getEventType();
  				break;
  			default:
  				throw new IllegalStateException("unexpected token. token=" + state);
  		}
  	}
docs: Reads and discards the next array/hash or null.<br>
  Throws {@link IllegalStateException} otherwise.
  @throws IOException
  {@code JSON} data cannot read successfully.
  @throws JsonFormatException
  The data is malformed
  @throws IllegalStateException when it stumbles upon an unexpected {@link State}.