docs: public static SASLFailure parseSASLFailure(XmlPullParser parser) throws XmlPullParserException, IOException {
          final int initialDepth = parser.getDepth();
          String condition = null;
          Map<String, String> descriptiveTexts = null;
          outerloop: while (true) {
              int eventType = parser.next();
              switch (eventType) {
              case XmlPullParser.START_TAG:
                  String name = parser.getName();
                  if (name.equals("text")) {
                      descriptiveTexts = parseDescriptiveTexts(parser, descriptiveTexts);
                  }
                  else {
                      assert (condition == null);
                      condition = parser.getName();
                  }
                  break;
              case XmlPullParser.END_TAG:
                  if (parser.getDepth() == initialDepth) {
                      break outerloop;
                  }
                  break;
              }
          }
          return new SASLFailure(condition, descriptiveTexts);
      }