private <T> Description appendValueList(String start, String separator, String end, Iterator<T> values) { return appendList(start, separator, end, new SelfDescribingValueIterator<T>(values)); }