def __try_instantiate(self, component_context, instance):
        # type: (ComponentContext, object) -> bool
        """
        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
        """
        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
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