If there is no any properties providers this code will try to load the corresponding extension points everytime getPropertiesProvider() is called. Not a big deal if it's not supposed to called too often or/and there is no any problems with extensions which will throw exceptions. Exception handling is slow and it will polute the log with the same errors/warning messages. So maybe it's better to use some boolean flag (boolean initialized?) to indicate the state when we don't need to load properties providers since we there is no one/already have some.