boolean () { SyntaxTreeBuilder.Marker mark = myBuilder.mark(); if (parseClosedPattern()) { if (atToken(PyTokenTypes.OR)) { while (atToken(PyTokenTypes.OR)) { nextToken(); if (!parseClosedPattern()) { myBuilder.error(PyParsingBundle.message("PARSE.expected.pattern")); break; } } mark.done(PyElementTypes.OR_PATTERN); } else { mark.drop(); } return true; } mark.drop(); return false; }