<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __generate_really (self, prop_set):
 """ Generates the main target with the given property set and returns a list which first element is property_set object containing usage_requirements of generated target and with generated virtual target in other elements. It's possible that no targets are generated. """

        assert isinstance(prop_set, property_set.PropertySet)
        best_alternative = self.__select_alternatives (prop_set, debug=0)
        self.best_alternative = best_alternative

        if not best_alternative:
            # FIXME: revive.
            # self.__select_alternatives(prop_set, debug=1)
            self.manager_.errors()(
                "No best alternative for '%s'.\n"
                  % (self.full_name(),))

        result = best_alternative.generate (prop_set)

        # Now return virtual targets for the only alternative
        return result