There are two things that could be improved in org.jivesoftware.smack.packet.XMPPError:
First, several typo’‘s exist in the Condition class that’'s enclosed (interna_server_error instead of internal_server_error, no_acceptable instead of not_acceptable).
Second (and more annoying), since the static class doesn’‘t override the equals() method, two instances of the same condition can be ‘‘not-equal’’. I’'m assuming that the Condition instances are implemented as a class to be able to handle the minus-sign as underscore. Maybe Condition could be an Enum instead, which has its toString() and valueOf() overridden?