PsiJavaFile:AnonymousInSmartCompletion.java
  PsiCodeBlock
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace(' ')
    PsiExpressionStatement
      PsiNewExpression:new Foo(hash
#) {}
        PsiKeyword:new('new')
        PsiReferenceParameterList
          <empty list>
        PsiWhiteSpace(' ')
        PsiAnonymousClass
          PsiJavaCodeReferenceElement:Foo
            PsiIdentifier:Foo('Foo')
            PsiReferenceParameterList
              <empty list>
          PsiExpressionList
            PsiJavaToken:LPARENTH('(')
            PsiReferenceExpression:hash
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:hash('hash')
            PsiErrorElement:',' or ')' expected
              <empty list>
            PsiExpression(empty)
              <empty list>
            PsiWhiteSpace('\n')
            PsiElement(BAD_CHARACTER)('#')
            PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiJavaToken:LBRACE('{')
          PsiJavaToken:RBRACE('}')
      PsiJavaToken:SEMICOLON(';')
    PsiWhiteSpace('\n ')
    PsiExpressionStatement
      PsiNewExpression:new Foo(hash
#, bar) {}
        PsiKeyword:new('new')
        PsiReferenceParameterList
          <empty list>
        PsiWhiteSpace(' ')
        PsiAnonymousClass
          PsiJavaCodeReferenceElement:Foo
            PsiIdentifier:Foo('Foo')
            PsiReferenceParameterList
              <empty list>
          PsiExpressionList
            PsiJavaToken:LPARENTH('(')
            PsiReferenceExpression:hash
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:hash('hash')
            PsiErrorElement:',' or ')' expected
              <empty list>
            PsiExpression(empty)
              <empty list>
            PsiWhiteSpace('\n')
            PsiElement(BAD_CHARACTER)('#')
            PsiJavaToken:COMMA(',')
            PsiWhiteSpace(' ')
            PsiReferenceExpression:bar
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:bar('bar')
            PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiJavaToken:LBRACE('{')
          PsiJavaToken:RBRACE('}')
      PsiJavaToken:SEMICOLON(';')
    PsiWhiteSpace('\n ')
    PsiExpressionStatement
      PsiNewExpression:new Foo(hash
#x) {}
        PsiKeyword:new('new')
        PsiReferenceParameterList
          <empty list>
        PsiWhiteSpace(' ')
        PsiAnonymousClass
          PsiJavaCodeReferenceElement:Foo
            PsiIdentifier:Foo('Foo')
            PsiReferenceParameterList
              <empty list>
          PsiExpressionList
            PsiJavaToken:LPARENTH('(')
            PsiReferenceExpression:hash
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:hash('hash')
            PsiErrorElement:',' or ')' expected
              <empty list>
            PsiExpression(empty)
              <empty list>
            PsiWhiteSpace('\n')
            PsiElement(BAD_CHARACTER)('#')
            PsiErrorElement:',' or ')' expected
              <empty list>
            PsiExpression(empty)
              <empty list>
            PsiReferenceExpression:x
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:x('x')
            PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiJavaToken:LBRACE('{')
          PsiJavaToken:RBRACE('}')
      PsiJavaToken:SEMICOLON(';')
    PsiWhiteSpace(' ')
    PsiJavaToken:RBRACE('}')