# File lib/simp/cli/config/item_list_factory.rb, line 119
  def build_item_queue( item_queue, items )
    writer = create_safety_writer_item
    if !items.empty?
      item = items.shift
      item_queue << writer if writer

      if item.is_a? String
        item_queue << create_item( item )

      elsif item.is_a? Hash
        answers_tree = {}
        item.values.first.each{ |answer, values|
          answers_tree[ answer ] = build_item_queue( [], values )
        }
        _item = create_item( item.keys.first )
        _item.next_items_tree = answers_tree
        item_queue << _item
        # append a silent YAML writer to save progress after each item
        item_queue << writer if writer
      end

      item_queue = build_item_queue( item_queue, items )
    end

    item_queue
  end