Different ways of importing solidity files

Hi all,

In the Solidity docs and also in OZ libaries, I mainly find this way of importing :

import "@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol";

But in most of the top projects I study on GitHub (PartyDao, Fractional, Aavegotchi etc.), I see this version :

import {
ERC721HolderUpgradeable
} from "@openzeppelin/contracts-upgradeable/token/ERC721/utils/ERC721HolderUpgradeable.sol";

I do guess that in the second example we can only import specific contracts/interfaces or variable types from the imported filed. But as in 99% of the time you just have one contract or variable type inside the imported file, I wonder why it is still done this way by the devs. Is it for the code clarity ? Because I don't see any difference if you use the first or second version when you have only one object to import anyway from this file, like with the above example using ERC721HolderUpgradeable.

For your information, I received a great reply here :

https://ethereum.stackexchange.com/questions/117100/best-way-to-import