docs: public static Optional<ParserRuleContext> findSingleNodeFromFirstDescendant(final ParserRuleContext node, final RuleName ruleName) {
          ParserRuleContext nextNode = node;
          do {
              if (isMatchedNode(nextNode, ruleName)) {
                  return Optional.of(nextNode);
              }
              if (1 != nextNode.getChildCount() || !(nextNode.getChild(0) instanceof ParserRuleContext)) {
                  return Optional.absent();
              }
              nextNode = (ParserRuleContext) nextNode.getChild(0);
          } while (null != nextNode);
          return Optional.absent();
      }