test.java.file
  LBRACE
  WHITE_SPACE
  CLASS
    MODIFIER_LIST
      <empty list>
    CLASS_KEYWORD
    WHITE_SPACE
    IDENTIFIER
    TYPE_PARAMETER_LIST
      LT
      TYPE_PARAMETER
        ANNOTATION
          AT
          JAVA_CODE_REFERENCE
            IDENTIFIER
            REFERENCE_PARAMETER_LIST
              <empty list>
          ANNOTATION_PARAMETER_LIST
            <empty list>
        WHITE_SPACE
        IDENTIFIER
        WHITE_SPACE
        EXTENDS_BOUND_LIST
          EXTENDS_KEYWORD
          WHITE_SPACE
          JAVA_CODE_REFERENCE
            ANNOTATION
              AT
              JAVA_CODE_REFERENCE
                IDENTIFIER
                REFERENCE_PARAMETER_LIST
                  <empty list>
              ANNOTATION_PARAMETER_LIST
                <empty list>
            WHITE_SPACE
            IDENTIFIER
            REFERENCE_PARAMETER_LIST
              <empty list>
      GT
    WHITE_SPACE
    EXTENDS_LIST
      EXTENDS_KEYWORD
      WHITE_SPACE
      JAVA_CODE_REFERENCE
        ANNOTATION
          AT
          JAVA_CODE_REFERENCE
            IDENTIFIER
            REFERENCE_PARAMETER_LIST
              <empty list>
          ANNOTATION_PARAMETER_LIST
            <empty list>
        WHITE_SPACE
        IDENTIFIER
        REFERENCE_PARAMETER_LIST
          <empty list>
    IMPLEMENTS_LIST
      <empty list>
    WHITE_SPACE
    LBRACE
    WHITE_SPACE
    METHOD
      MODIFIER_LIST
        ANNOTATION
          AT
          JAVA_CODE_REFERENCE
            IDENTIFIER
            REFERENCE_PARAMETER_LIST
              <empty list>
          ANNOTATION_PARAMETER_LIST
            <empty list>
      TYPE_PARAMETER_LIST
        <empty list>
      WHITE_SPACE
      TYPE
        TYPE
          INT_KEYWORD
        WHITE_SPACE
        ANNOTATION
          AT
          JAVA_CODE_REFERENCE
            IDENTIFIER
            REFERENCE_PARAMETER_LIST
              <empty list>
          ANNOTATION_PARAMETER_LIST
            <empty list>
        LBRACKET
        RBRACKET
      WHITE_SPACE
      IDENTIFIER
      PARAMETER_LIST
        LPARENTH
        RPARENTH
      WHITE_SPACE
      THROWS_LIST
        THROWS_KEYWORD
        WHITE_SPACE
        JAVA_CODE_REFERENCE
          ANNOTATION
            AT
            JAVA_CODE_REFERENCE
              IDENTIFIER
              REFERENCE_PARAMETER_LIST
                <empty list>
            ANNOTATION_PARAMETER_LIST
              <empty list>
          WHITE_SPACE
          IDENTIFIER
          REFERENCE_PARAMETER_LIST
            <empty list>
      WHITE_SPACE
      CODE_BLOCK
        LBRACE
        WHITE_SPACE
        EXPRESSION_STATEMENT
          ASSIGNMENT_EXPRESSION
            REFERENCE_EXPRESSION
              REFERENCE_PARAMETER_LIST
                <empty list>
              IDENTIFIER
            WHITE_SPACE
            EQ
            WHITE_SPACE
            INSTANCE_OF_EXPRESSION
              THIS_EXPRESSION
                REFERENCE_PARAMETER_LIST
                  <empty list>
                THIS_KEYWORD
              WHITE_SPACE
              INSTANCEOF_KEYWORD
              WHITE_SPACE
              TYPE
                ANNOTATION
                  AT
                  JAVA_CODE_REFERENCE
                    IDENTIFIER
                    REFERENCE_PARAMETER_LIST
                      <empty list>
                  ANNOTATION_PARAMETER_LIST
                    <empty list>
                WHITE_SPACE
                JAVA_CODE_REFERENCE
                  IDENTIFIER
                  REFERENCE_PARAMETER_LIST
                    <empty list>
          SEMICOLON
        WHITE_SPACE
        DECLARATION_STATEMENT
          LOCAL_VARIABLE
            MODIFIER_LIST
              <empty list>
            TYPE
              JAVA_CODE_REFERENCE
                IDENTIFIER
                REFERENCE_PARAMETER_LIST
                  LT
                  TYPE
                    ANNOTATION
                      AT
                      JAVA_CODE_REFERENCE
                        IDENTIFIER
                        REFERENCE_PARAMETER_LIST
                          <empty list>
                      ANNOTATION_PARAMETER_LIST
                        <empty list>
                    WHITE_SPACE
                    ANNOTATION
                      AT
                      JAVA_CODE_REFERENCE
                        IDENTIFIER
                        REFERENCE_PARAMETER_LIST
                          <empty list>
                      ANNOTATION_PARAMETER_LIST
                        <empty list>
                    WHITE_SPACE
                    JAVA_CODE_REFERENCE
                      IDENTIFIER
                      REFERENCE_PARAMETER_LIST
                        <empty list>
                  GT
            WHITE_SPACE
            IDENTIFIER
            WHITE_SPACE
            EQ
            WHITE_SPACE
            NEW_EXPRESSION
              NEW_KEYWORD
              REFERENCE_PARAMETER_LIST
                <empty list>
              WHITE_SPACE
              JAVA_CODE_REFERENCE
                ANNOTATION
                  AT
                  JAVA_CODE_REFERENCE
                    IDENTIFIER
                    REFERENCE_PARAMETER_LIST
                      <empty list>
                  ANNOTATION_PARAMETER_LIST
                    <empty list>
                WHITE_SPACE
                IDENTIFIER
                REFERENCE_PARAMETER_LIST
                  LT
                  TYPE
                    ANNOTATION
                      AT
                      JAVA_CODE_REFERENCE
                        IDENTIFIER
                        REFERENCE_PARAMETER_LIST
                          <empty list>
                      ANNOTATION_PARAMETER_LIST
                        <empty list>
                    WHITE_SPACE
                    JAVA_CODE_REFERENCE
                      IDENTIFIER
                      REFERENCE_PARAMETER_LIST
                        <empty list>
                  GT
              EXPRESSION_LIST
                LPARENTH
                RPARENTH
            SEMICOLON
        WHITE_SPACE
        EXPRESSION_STATEMENT
          ASSIGNMENT_EXPRESSION
            REFERENCE_EXPRESSION
              REFERENCE_PARAMETER_LIST
                <empty list>
              IDENTIFIER
            WHITE_SPACE
            EQ
            WHITE_SPACE
            TYPE_CAST_EXPRESSION
              LPARENTH
              TYPE
                ANNOTATION
                  AT
                  JAVA_CODE_REFERENCE
                    IDENTIFIER
                    REFERENCE_PARAMETER_LIST
                      <empty list>
                  ANNOTATION_PARAMETER_LIST
                    <empty list>
                WHITE_SPACE
                JAVA_CODE_REFERENCE
                  IDENTIFIER
                  REFERENCE_PARAMETER_LIST
                    <empty list>
              RPARENTH
              REFERENCE_EXPRESSION
                REFERENCE_PARAMETER_LIST
                  <empty list>
                IDENTIFIER
          SEMICOLON
        WHITE_SPACE
        DECLARATION_STATEMENT
          LOCAL_VARIABLE
            MODIFIER_LIST
              <empty list>
            TYPE
              JAVA_CODE_REFERENCE
                IDENTIFIER
                REFERENCE_PARAMETER_LIST
                  <empty list>
            WHITE_SPACE
            IDENTIFIER
            WHITE_SPACE
            EQ
            WHITE_SPACE
            CLASS_OBJECT_ACCESS_EXPRESSION
              TYPE
                ANNOTATION
                  AT
                  JAVA_CODE_REFERENCE
                    IDENTIFIER
                    REFERENCE_PARAMETER_LIST
                      <empty list>
                  ANNOTATION_PARAMETER_LIST
                    <empty list>
                WHITE_SPACE
                JAVA_CODE_REFERENCE
                  IDENTIFIER
                  REFERENCE_PARAMETER_LIST
                    <empty list>
              DOT
              CLASS_KEYWORD
            SEMICOLON
        WHITE_SPACE
        EXPRESSION_STATEMENT
          POSTFIX_EXPRESSION
            REFERENCE_EXPRESSION
              REFERENCE_EXPRESSION
                REFERENCE_PARAMETER_LIST
                  <empty list>
                ANNOTATION
                  AT
                  JAVA_CODE_REFERENCE
                    IDENTIFIER
                    REFERENCE_PARAMETER_LIST
                      <empty list>
                  ANNOTATION_PARAMETER_LIST
                    <empty list>
                WHITE_SPACE
                IDENTIFIER
              DOT
              REFERENCE_PARAMETER_LIST
                <empty list>
              IDENTIFIER
            PLUSPLUS
          SEMICOLON
        WHITE_SPACE
        RBRACE
    WHITE_SPACE
    RBRACE
  WHITE_SPACE
  RBRACE