} else if (c.hasElementEnd()) {
output.elementEnd();
} else if (c.hasRetainItemCount()) {
output.retain(c.getRetainItemCount());
} else if (c.hasDeleteCharacters()) {
output.deleteCharacters(c.getDeleteCharacters());
} else if (c.hasDeleteElementStart()) {
Map<String, String> attributesMap = Maps.newHashMap();
for (ProtocolDocumentOperation.Component.KeyValuePair pair :
c.getDeleteElementStart().getAttributeList()) {
attributesMap.put(pair.getKey(), pair.getValue());