/**
* Returns a higher number for obligation which should be first.
*/
private static int order(final UML uml) {
final Obligation obligation = uml.obligation();
if (obligation != null) {
switch (obligation) {
case MANDATORY: return 1;
case CONDITIONAL: return 2;
case OPTIONAL: return 3;