@Override
  protected void setTableProperties(
      final CommandLine cl,
      final Shell shellState,
      final int priority,
      final Map<String, String> options,
      final String classname,
      final String name)
      throws AccumuloException, AccumuloSecurityException, ShellCommandException,
          TableNotFoundException {
    // instead of setting table properties, just put the options in a list to use at scan time

    String profile = cl.getOptionValue(profileOpt.getOpt());

    // instead of setting table properties, just put the options in a list to use at scan time
    for (Iterator<Entry<String, String>> i = options.entrySet().iterator(); i.hasNext(); ) {
      final Entry<String, String> entry = i.next();
      if (entry.getValue() == null || entry.getValue().isEmpty()) {
        i.remove();
      }
    }

    List<IteratorSetting> tableScanIterators = shellState.iteratorProfiles.get(profile);
    if (tableScanIterators == null) {
      tableScanIterators = new ArrayList<>();
      shellState.iteratorProfiles.put(profile, tableScanIterators);
    }
    final IteratorSetting setting = new IteratorSetting(priority, name, classname);
    setting.addOptions(options);

    Iterator<IteratorSetting> iter = tableScanIterators.iterator();
    while (iter.hasNext()) {
      if (iter.next().getName().equals(name)) {
        iter.remove();
      }
    }

    tableScanIterators.add(setting);
  }