    # File lib/facets/more/json.rb, line 213
        def parse
          reset
          until eos?
            case
            when scan(ARRAY_OPEN)
              return parse_array
            when scan(OBJECT_OPEN)
              return parse_object
            when skip(IGNORE)
              ;
            when !((value = parse_value).equal? UNPARSED)
              return value
            else
              raise ParserError, "source '#{peek(20)}' not in JSON!"
            end
          end
        end