class StringList implements Iterable<String> {

  public HashMap<String, String> filter(
      Map<String, String> _in,
      boolean _keep_matches,
      ComparisonMode _mode,
      CaseSensitivity _case_sensitivity) {
    final HashMap<String, String> out = new HashMap<String, String>();
    for (Map.Entry<String, String> e : _in.entrySet()) {
      if (this.contains(e.getKey(), _mode, _case_sensitivity)) {
        if (_keep_matches) out.put(e.getKey(), e.getValue());
      } else if (!_keep_matches) {
        out.put(e.getKey(), e.getValue());
      }
    }
    return out;
  }

  public  StringList();
  public  StringList(String[] _itemlist);

}