Snapshot of commit d5ec1d5018ed24f1b4f32b1d09df6dbd7e2fc425

from branch master of git://git.jetbrains.org/idea/community.git
diff --git a/plugins/groovy/testdata/reparse/SwitchCaseWhile.txt b/plugins/groovy/testdata/reparse/SwitchCaseWhile.txt
new file mode 100644
index 0000000..3d5863f
--- /dev/null
+++ b/plugins/groovy/testdata/reparse/SwitchCaseWhile.txt
@@ -0,0 +1,94 @@
+Groovy script
+  PsiElement(new line)('\n  ')
+  Method
+    Modifiers
+      PsiElement(def)('def')
+    PsiWhiteSpace(' ')
+    PsiElement(identifier)('foo')
+    PsiElement(()('(')
+    Parameter list
+      <empty list>
+    PsiElement())(')')
+    PsiWhiteSpace(' ')
+    Throw clause
+      <empty list>
+    Open block
+      PsiElement({)('{')
+      PsiWhiteSpace('\n    ')
+      Switch statement
+        PsiElement(switch)('switch')
+        PsiElement(()('(')
+        Reference expression
+          PsiElement(identifier)('x')
+        PsiElement())(')')
+        PsiWhiteSpace(' ')
+        PsiElement({)('{')
+        PsiWhiteSpace('\n      ')
+        Case section
+          Case label
+            PsiElement(case)('case')
+            PsiWhiteSpace(' ')
+            Literal
+              PsiElement(Integer)('2')
+            PsiElement(:)(':')
+          PsiElement(new line)('\n      ')
+          RETURN statement
+            PsiElement(return)('return')
+            PsiWhiteSpace(' ')
+            Literal
+              PsiElement(Integer)('2')
+        PsiElement(new line)('\n    ')
+        PsiElement(})('}')
+      PsiElement(new line)('\n  ')
+      PsiElement(})('}')
+  PsiElement(new line)('\n')
+---
+Groovy script
+  PsiElement(new line)('\n  ')
+  Method
+    Modifiers
+      PsiElement(def)('def')
+    PsiWhiteSpace(' ')
+    PsiElement(identifier)('foo')
+    PsiElement(()('(')
+    Parameter list
+      <empty list>
+    PsiElement())(')')
+    PsiWhiteSpace(' ')
+    Throw clause
+      <empty list>
+    Open block
+      PsiElement({)('{')
+      PsiWhiteSpace('\n    ')
+      Switch statement
+        PsiElement(switch)('switch')
+        PsiElement(()('(')
+        Reference expression
+          PsiElement(identifier)('x')
+        PsiElement())(')')
+        PsiWhiteSpace(' ')
+        PsiElement({)('{')
+        PsiWhiteSpace('\n      ')
+        Case section
+          Case label
+            PsiElement(case)('case')
+            PsiWhiteSpace(' ')
+            Literal
+              PsiElement(Integer)('2')
+            PsiElement(:)(':')
+          PsiElement(new line)('\n      ')
+          WHILE statement
+            PsiElement(while)('while')
+            PsiErrorElement:'(' expected
+              <empty list>
+          PsiWhiteSpace(' ')
+          RETURN statement
+            PsiElement(return)('return')
+            PsiWhiteSpace(' ')
+            Literal
+              PsiElement(Integer)('2')
+        PsiElement(new line)('\n    ')
+        PsiElement(})('}')
+      PsiElement(new line)('\n  ')
+      PsiElement(})('}')
+  PsiElement(new line)('\n')
\ No newline at end of file