private @Nullable PsiJavaToken parseArrayType(@Nullable PsiJavaToken token) {
      while (token != null && token.getTokenType() == JavaTokenType.LBRACKET) {
        token = tryCast(nextChild(), PsiJavaToken.class);
        if (token == null || token.getTokenType() != JavaTokenType.RBRACKET) return null;
        token = tryCast(parseModifiers(nextChild()), PsiJavaToken.class);
      }
      return token;
    }
private @Nullable PsiJavaToken parseArrayType(@Nullable PsiJavaToken token)