def <<(line)
      if line.kind_of?(IniParse::Lines::Section)
        raise IniParse::LineNotAllowed,
          "You can't add a Section to an OptionCollection."
      end

      if line.blank? || (! has_key?(line.key))
        super # Adding a new option, comment or blank line.
      else
        self[line.key] = [self[line.key], line].flatten
      end

      self
    end
def <<(line)
      if line.kind_of?(IniParse::Lines::Section)
        raise IniParse::LineNotAllowed,
          "You can't add a Section to an OptionCollection."
      end

      if line.blank? || (! has_key?(line.key))
        super # Adding a new option, comment or blank line.
      else
        self[line.key] = [self[line.key], line].flatten
      end

      self
    end
Appends a line to the collection.

 If you push an Option with a key already represented in the collection,
 the previous Option will not be overwritten, but treated as a duplicate.

 ==== Parameters
 line<IniParse::LineType::Line>:: The line to be added to this section.