private function _end_array()
 {
     $popped = array_pop($this->_stack);
     if ($popped !== self::STACK_ARRAY) {
         throw new JsonStreamingParser_ParsingError($this->_line_number, $this->_char_number, "Unexpected end of array encountered.");
     }
     $this->_listener->end_array();
     $this->_state = self::STATE_AFTER_VALUE;
     if (empty($this->_stack)) {
         $this->_end_document();
     }
 }