docs: @Override
    public Iterator<Entry<String, String>> iterator() {
      // Get a copy of just the string to string pairs. After the old object
      // methods that allow non-strings to be put into configurations are removed,
      // we could replace properties with a Map<String,String> and get rid of this
      // code.
      Map<String,String> result = new HashMap<String,String>();
      for(Entry<Object,Object> item: getProps().entrySet()) {
        if (item.getKey() instanceof String &&
            item.getValue() instanceof String) {
            result.put((String) item.getKey(), (String) item.getValue());
        }
      }
      return result.entrySet().iterator();
    }