def create(id: str, force_create: bool = False):
        ValueChecker.validate_id(id)

        pm = None if force_create else ConfigBuilder.get_package_manager(id)
        if None is pm:
            pm = PackageManager(id)
            ConfigBuilder.add_package_manager(id, pm)

        return pm
    def remove_package_manager(self, package_manager):

        if isinstance(package_manager, PackageManager):
            self.__package_manager.remove(package_manager)

        elif isinstance(package_manager, str):
            package_manager = ConfigBuilder.get_package_manager(
                package_manager)
            self.__package_manager.remove(package_manager)

        return self
    def add_package_manager(self, package_manager):

        if isinstance(package_manager, PackageManager):
            if package_manager not in self.__package_manager:
                self.__package_manager.append(package_manager)

        elif isinstance(package_manager, str):
            package_manager = ConfigBuilder.get_package_manager(
                package_manager)
            if None is package_manager:
                raise Exception('PackageManager does not exist yet!')
            self.add_package_manager(package_manager)
        else:
            raise Exception(
                'Can only add PackageManager or id of PackageManager!')

        return self