public String format(KeyStroke keyStroke) {
String keyDelimiter = getKeyDelimiter();
// Format the modifier keys, in sorted order.
SortedSet modifierKeys = new TreeSet(getModifierKeyComparator());
modifierKeys.addAll(keyStroke.getModifierKeys());
StringBuffer stringBuffer = new StringBuffer();
Iterator modifierKeyItr = modifierKeys.iterator();
while (modifierKeyItr.hasNext()) {
stringBuffer.append(format((ModifierKey) modifierKeyItr.next()));
stringBuffer.append(keyDelimiter);