code: def __try_instantiate(self, component_context, instance):
          # type: (ComponentContext, object) -> bool
          
          with self.__instances_lock:
              # Extract information about the component
              factory_context = component_context.factory_context
              handlers_ids = factory_context.get_handlers_ids()
              name = component_context.name
              factory_name = factory_context.name
  
              try:
                  # Get handlers
                  handler_factories = self.__get_handler_factories(handlers_ids)
              except KeyError:
                  # A handler is missing, stop here
                  return False
  
              # Instantiate the handlers
              all_handlers = set()  # type: Set[Any]
              for handler_factory in handler_factories:
                  handlers = handler_factory.get_handlers(
                      component_context, instance
                  )
                  if handlers:
                      all_handlers.update(handlers)
  
              # Prepare the stored instance
              stored_instance = StoredInstance(
                  self, component_context, instance, all_handlers
              )
  
              # Manipulate the properties
              for handler in all_handlers:
                  handler.manipulate(stored_instance, instance)
  
              # Store the instance
              self.__instances[name] = stored_instance
  
          # Start the manager
          stored_instance.start()
  
          # Notify listeners now that every thing is ready to run
          self._fire_ipopo_event(
              constants.IPopoEvent.INSTANTIATED, factory_name, name
          )
  
          # Try to validate it
          stored_instance.update_bindings()
          stored_instance.check_lifecycle()
          return True
docs: Instantiates a component, if all of its handlers are there. Returns
          False if a handler is missing.
  
          :param component_context: A ComponentContext bean
          :param instance: The component instance
          :return: True if the component has started,
                   False if a handler is missing