ASTNode (int role) { LOG.assertTrue(ChildRole.isUnique(role)); switch (role) { default: return null; case ChildRole.DOC_COMMENT: return PsiImplUtil.findDocComment(this); case ChildRole.MODIFIER_LIST: return findChildByType(MODIFIER_LIST); case ChildRole.TYPE_PARAMETER_LIST: return findChildByType(TYPE_PARAMETER_LIST); case ChildRole.NAME: return findChildByType(IDENTIFIER); case ChildRole.TYPE: return findChildByType(TYPE); case ChildRole.METHOD_BODY: return findChildByType(CODE_BLOCK); case ChildRole.PARAMETER_LIST: return findChildByType(PARAMETER_LIST); case ChildRole.THROWS_LIST: return findChildByType(THROWS_LIST); case ChildRole.CLOSING_SEMICOLON: return TreeUtil.findChildBackward(this, SEMICOLON); case ChildRole.DEFAULT_KEYWORD: return findChildByType(DEFAULT_KEYWORD); } }