IElementType (final PrattBuilder builder, int rightPriority) { final MutableMarker marker = builder.mark(); final IElementType type = builder.createChildBuilder(rightPriority).parse(); if (type == null) { marker.rollback(); } else { marker.finish(); } return type; }