ASTNode (int role) { LOG.assertTrue(ChildRole.isUnique(role)); switch(role){ default: return null; case ChildRole.DO_KEYWORD: return findChildByType(DO_KEYWORD); case ChildRole.LOOP_BODY: return PsiImplUtil.findStatementChild(this); case ChildRole.WHILE_KEYWORD: return findChildByType(WHILE_KEYWORD); case ChildRole.LPARENTH: return findChildByType(LPARENTH); case ChildRole.CONDITION: return findChildByType(EXPRESSION_BIT_SET); case ChildRole.RPARENTH: return findChildByType(RPARENTH); case ChildRole.CLOSING_SEMICOLON: return TreeUtil.findChildBackward(this, SEMICOLON); } }