PsiJavaFile:TypeParam.java
  PsiImportList
    <empty list>
  PsiClass:Future
    PsiDocComment
      PsiDocToken:DOC_COMMENT_START('/**')
      PsiWhiteSpace('\n ')
      PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*')
      PsiDocToken:DOC_COMMENT_DATA(' ')
      PsiDocTag:@param
        PsiDocToken:DOC_TAG_NAME('@param')
        PsiWhiteSpace(' ')
        PsiElement(DOC_PARAMETER_REF)
          PsiDocToken:DOC_TAG_VALUE_LT('<')
          PsiDocToken:DOC_TAG_VALUE_TOKEN('V')
          PsiDocToken:DOC_TAG_VALUE_GT('>')
      PsiWhiteSpace('\n ')
      PsiDocToken:DOC_COMMENT_END('*/')
    PsiWhiteSpace('\n')
    PsiModifierList:public
      PsiKeyword:public('public')
    PsiWhiteSpace(' ')
    PsiKeyword:interface('interface')
    PsiWhiteSpace(' ')
    PsiIdentifier:Future('Future')
    PsiTypeParameterList
      PsiJavaToken:LT('<')
      PsiTypeParameter:V
        PsiIdentifier:V('V')
        PsiElement(EXTENDS_BOUND_LIST)
          <empty list>
      PsiJavaToken:GT('>')
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')