# File lib/simp/cli/config/item_list_factory.rb, line 78
  def create_item item_string
    # create item instance
    parts = item_string.split( /\s+/ )
    name  = parts.shift
    item  = Simp::Cli::Config::Item.const_get(name).new

    # set item options
    #   ...based on YAML keywords
    dry_run_apply = false
    while !parts.empty?
      part = parts.shift
      if part =~ /^#/
        parts = []
        next
      end
      item.silent           = true if part == 'SILENT'
      item.skip_apply       = true if part == 'NOAPPLY'
      item.skip_query       = true if part == 'SKIPQUERY'
      item.skip_yaml        = true if part == 'NOYAML'
      item.allow_user_apply = true if part == 'USERAPPLY'
      item.generate_option  = :generate_no_query if part == 'GENERATENOQUERY'
      item.generate_option  = :never_generate    if part == 'NEVERGENERATE'
      dry_run_apply         = true if part == 'DRYRUNAPPLY'
      if part =~ /^FILE=(.+)/
        item.file = $1
      end

    end
    #  ...based on cli options
    if (@options.fetch( :dry_run, false ) and !dry_run_apply)
      item.skip_apply = true
      item.skip_apply_reason = '[**dry run**]'
    end
    item.start_time = @options.fetch( :start_time, Time.now )

    # (try to) assign item values from various sources
    item = assign_value_from_hash( @answers_hash, item )
  end