# File lib/wsman.rb, line 602
  def set_boot_sources(boot_mode, boot_source_settings, nic_first = true)
    puts "Setting boot sources - #{boot_mode}, #{nic_first}"

    boot_source_list = []
    emb_nics = []
    int_nics = []
    all_other_nics = []
    other_boot_srcs = []
    enable_nic_srcs = []

    return boot_source_list if not boot_source_settings or boot_source_settings.length == 0
    return boot_source_list if boot_mode != "UEFI" and boot_mode != "BIOS"

    if nic_first
      boot_source_settings.each do |bss|
        boot_src_instance_id = bss['InstanceID']
        puts "DBG: Processing boot source - #{boot_src_instance_id}"

        emb_nics << boot_src_instance_id if boot_src_instance_id.include?("NIC.Embedded")
        int_nics << boot_src_instance_id if boot_src_instance_id.include?("NIC.Integrated")
        all_other_nics << boot_src_instance_id if boot_src_instance_id.include?("NIC") and !emb_nics.include?(boot_src_instance_id) and !int_nics.include?(boot_src_instance_id)
        other_boot_srcs << boot_src_instance_id if !emb_nics.include?(boot_src_instance_id) and !int_nics.include?(boot_src_instance_id) and !all_other_nics.include?(boot_src_instance_id)

        if boot_src_instance_id and !other_boot_srcs.include?(boot_src_instance_id)
          if boot_mode == "UEFI"
            puts "DBG: Current state of #{boot_src_instance_id} is #{bss['CurrentEnabledStatus'].to_i}"
            enable_nic_srcs << boot_src_instance_id if bss['CurrentEnabledStatus'].to_i == 0
          else
            puts "Not enabling or checking disabled boot sources for BIOS boot mode"
          end
        end
      end

      boot_source_list = emb_nics.sort if emb_nics and emb_nics.length > 0
      boot_source_list = boot_source_list | int_nics.sort if int_nics and int_nics.length > 0
      boot_source_list = boot_source_list | all_other_nics.sort if all_other_nics and all_other_nics.length > 0
      boot_source_list = boot_source_list | other_boot_srcs.sort if other_boot_srcs and other_boot_srcs.length > 0
    else
      puts "nic_first = false. Returning current boot order"
      boot_source_list = boot_source_settings
    end

    puts "DBG: Re-ordered boot source settings list is #{boot_source_list}"
    puts "DBG: Disabled boot source list is #{enable_nic_srcs}"

    [boot_source_list, enable_nic_srcs]
  end