Removes the given variables. Will only remove a key if it has the given value if the value has been defined.
        :param variables: the variables to remove

def remove(self, variables: Union[Iterable[str], Dict[str, str]]=None):
        """
        Removes the given variables. Will only remove a key if it has the given value if the value has been defined.
        :param variables: the variables to remove
        """
        keys = list(variables.keys()) if isinstance(variables, Dict) else variables     # type: Iterable[str]
        for key in keys:
            variable = self._project.variables.get(key)
            if isinstance(variables, Dict):
                if variables[key] != variable.value:
                    continue
            variable.delete()