The constructor function for MagentoCatalogModelCategory contains this excerpt:
With the automatic dependency injection that Magento provides, how is the StoreManagerInterface resolved?
A. If no $storeManager is provided, Magento’s code generator creates a shell concrete class based on MagentoStoreModelStoreManagerInterface
B. Magento finds all classes that implement MagentoStoreModelStoreManagerInterface (ordered alphabetically) and injects the first class.
C. Magento looks to the di.xml files in the entire system for a preference node for MagentoStoreModelStoreManagerInterface. This class is constructed and injected
D. Magento throws an exception because you cannot instantiate an interface