def varbind_list(object_list, option=:KeepValue)
      raise ArgumentError, "A list of ObjectId or VarBind objects is NilClass" if object_list.nil?
      vb_list = VarBindList.new
      if object_list.respond_to? :to_str
        vb_list << oid(object_list).to_varbind
      elsif object_list.respond_to? :to_varbind
        vb_list << apply_option(object_list.to_varbind, option)
      else
        object_list.each do |item|
          if item.respond_to? :to_str
            varbind = oid(item).to_varbind
          else
            varbind = item.to_varbind
          end
          vb_list << apply_option(varbind, option)
        end
      end
      vb_list
    end
def varbind_list(object_list, option=:KeepValue)
      raise ArgumentError, "A list of ObjectId or VarBind objects is NilClass" if object_list.nil?
      vb_list = VarBindList.new
      if object_list.respond_to? :to_str
        vb_list << oid(object_list).to_varbind
      elsif object_list.respond_to? :to_varbind
        vb_list << apply_option(object_list.to_varbind, option)
      else
        object_list.each do |item|
          if item.respond_to? :to_str
            varbind = oid(item).to_varbind
          else
            varbind = item.to_varbind
          end
          vb_list << apply_option(varbind, option)
        end
      end
      vb_list
    end
Returns a VarBindList for the provided list of objects.  If a
 string is provided it is interpretted as a symbolic OID.

 This method accepts many different kinds of objects:
 - single string object IDs e.g. "1.3.6.1" or "IF-MIB::ifTable.1.1"
 - single ObjectId
 - list of string object IDs
 - list of ObjectIds
 - list of VarBinds