Use of (private) ToolHandles may trigger the configuration of spurious public tools
When accessing a the property corresponding to a private tool handle in Python configuration, a spurious matching public tool handle is instatiated, as demonstrated by this small example:
Python 2.7.16 (default, Sep 20 2019, 10:43:36)
[GCC 9.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import GaudiKernel.Configurable
>>> allConfigurables = GaudiKernel.Configurable.Configurable.allConfigurables
>>> from Configurables import MyGaudiAlgorithm
>>> assert(not allConfigurables)
>>> alg = MyGaudiAlgorithm()
>>> assert(len(allConfigurables) == 1)
>>> assert('MyGaudiAlgorithm.PrivToolHandle' not in allConfigurables)
>>> tool = alg.PrivToolHandle
>>> assert('MyGaudiAlgorithm.PrivToolHandle' in allConfigurables)
>>> assert('ToolSvc.PrivToolHandle' not in allConfigurables)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>>