Snapshot of commit d5ec1d5018ed24f1b4f32b1d09df6dbd7e2fc425

from branch master of git://git.jetbrains.org/idea/community.git
diff --git a/plugins/groovy/testdata/reparse/OpeningParenthesisAtBlockStart.txt b/plugins/groovy/testdata/reparse/OpeningParenthesisAtBlockStart.txt
new file mode 100644
index 0000000..7a05e53
--- /dev/null
+++ b/plugins/groovy/testdata/reparse/OpeningParenthesisAtBlockStart.txt
@@ -0,0 +1,115 @@
+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    ')
+      Variable definitions
+        Modifiers
+          <empty list>
+        Type element
+          Reference element
+            PsiElement(identifier)('String')
+        PsiWhiteSpace(' ')
+        Variable
+          PsiElement(identifier)('home')
+      PsiElement(new line)('\n    ')
+      Method call
+        Reference expression
+          Reference expression
+            PsiElement(identifier)('simplePlugins')
+          PsiElement(.)('.')
+          PsiElement(identifier)('each')
+        PsiWhiteSpace(' ')
+        Arguments
+          <empty list>
+        Closable block
+          PsiElement({)('{')
+          PsiWhiteSpace('\n        ')
+          Parameter list
+            <empty list>
+          Call expression
+            Reference expression
+              PsiElement(identifier)('layoutPlugin')
+            PsiWhiteSpace(' ')
+            Command arguments
+              Reference expression
+                PsiElement(identifier)('it')
+          PsiElement(new line)('\n    ')
+          PsiElement(})('}')
+      PsiElement(new line)('\n\n')
+      PsiElement(})('}')
+  PsiElement(new line)('\n')
+  PsiErrorElement:';' or new line expected
+    PsiElement(})('}')
+---
+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    ')
+      Reference expression
+        Call expression
+          Parenthesized expression
+            PsiElement(()('(')
+            Reference expression
+              PsiElement(identifier)('String')
+            PsiErrorElement:')' expected
+              <empty list>
+          PsiWhiteSpace(' ')
+          Command arguments
+            Reference expression
+              PsiElement(identifier)('home')
+        PsiWhiteSpace('\n    ')
+        PsiElement(identifier)('simplePlugins')
+      PsiErrorElement:';', '}' or new line expected
+        <empty list>
+      PsiElement(.)('.')
+      Method call
+        Reference expression
+          PsiElement(identifier)('each')
+        PsiWhiteSpace(' ')
+        Arguments
+          <empty list>
+        Closable block
+          PsiElement({)('{')
+          PsiWhiteSpace('\n        ')
+          Parameter list
+            <empty list>
+          Call expression
+            Reference expression
+              PsiElement(identifier)('layoutPlugin')
+            PsiWhiteSpace(' ')
+            Command arguments
+              Reference expression
+                PsiElement(identifier)('it')
+          PsiElement(new line)('\n    ')
+          PsiElement(})('}')
+      PsiWhiteSpace('\n\n')
+      PsiElement(})('}')
+  PsiElement(new line)('\n')
+  PsiErrorElement:';' or new line expected
+    PsiElement(})('}')
\ No newline at end of file