# File lib/dnsruby/zone_reader.rb, line 59
    def process_io(io)
      zone = nil
      io.each do |line|
        begin
          ret = process_line(line)
          if (ret)
            rr = RR.create(ret)
            if (!zone)
              zone = []
            end
            zone.push(rr)
          end
        rescue Exception => e
          raise ParseException.new("Error reading line #{io.lineno} of #{io.inspect} : [#{line}]")
        end
      end
      return zone
    end