PsiJavaFile:Provides8.java
  PsiImportList
    <empty list>
  PsiJavaModule:M
    PsiModifierList:
      <empty list>
    PsiKeyword:module('module')
    PsiWhiteSpace(' ')
    PsiJavaModuleReference
      PsiIdentifier:M('M')
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace(' ')
    PsiProvidesStatement
      PsiKeyword:provides('provides')
      PsiWhiteSpace(' ')
      PsiJavaCodeReferenceElement:Spi
        PsiIdentifier:Spi('Spi')
        PsiReferenceParameterList
          <empty list>
      PsiWhiteSpace(' ')
      PsiReferenceList
        PsiKeyword:with('with')
        PsiWhiteSpace(' ')
        PsiJavaCodeReferenceElement:Impl1
          PsiIdentifier:Impl1('Impl1')
          PsiReferenceParameterList
            <empty list>
        PsiJavaToken:COMMA(',')
        PsiWhiteSpace(' ')
        PsiJavaCodeReferenceElement:Impl2
          PsiIdentifier:Impl2('Impl2')
          PsiReferenceParameterList
            <empty list>
        PsiJavaToken:COMMA(',')
        PsiErrorElement:Identifier expected
          <empty list>
    PsiWhiteSpace(' ')
    PsiJavaToken:RBRACE('}')