output.deleteElementStart(c.getDeleteElementStart().getType(), new AttributesImpl(
deserialize(c.getDeleteElementStart().getAttribute())));
} else if (c.hasDeleteElementEnd()) {
output.deleteElementEnd();
} else if (c.hasReplaceAttributes()) {
ReplaceAttributes r = c.getReplaceAttributes();
if (r.getEmpty()) {
output.replaceAttributes(AttributesImpl.EMPTY_MAP, AttributesImpl.EMPTY_MAP);
} else {
output.replaceAttributes(new AttributesImpl(deserialize(r.getOldAttribute())),
new AttributesImpl(deserialize(r.getNewAttribute())));
}
} else if (c.hasUpdateAttributes()) {
UpdateAttributes u = c.getUpdateAttributes();
if (u.getEmpty()) {
output.updateAttributes(AttributesUpdateImpl.EMPTY_MAP);