private @Nullable PsiJavaToken parseThrowsClause(@Nullable PsiJavaToken token) {
      if (!(token instanceof PsiKeyword) || !PsiKeyword.THROWS.equals(token.getText())) return token;
      token = tryCast(nextChild(), PsiIdentifier.class);
      if (token == null) return null;
      token = tryCast(parseQualifiedType(nextChild()), PsiJavaToken.class);
      while (token != null && token.getTokenType() == JavaTokenType.COMMA) {
        token = tryCast(nextChild(), PsiIdentifier.class);
        if (token == null) return null;
        token = tryCast(parseQualifiedType(nextChild()), PsiJavaToken.class);
      }
      return token;
    }
private @Nullable PsiJavaToken parseThrowsClause(@Nullable PsiJavaToken token)