The config file is stored in a way that allows you to have a
        cache for each remote.

        This is needed when specifying external outputs
        (as they require you to have an external cache location).

        Imagine a config file like the following:

                ['remote "dvc-storage"']
                url = ssh://localhost/tmp
                ask_password = true

                [cache]
                ssh = dvc-storage

        This method resolves the name under the cache section into the
        correct Remote instance.

        Args:
            config (dict): The cache section on the config file
            name (str): Name of the section we are interested in to retrieve

        Returns:
            remote (dvc.Remote): Remote instance that the section is referring.
                None when there's no remote with that name.

        Example:
            >>> _get_remote(config={'ssh': 'dvc-storage'}, name='ssh')

def _get_remote(self, config, name):
        """
        The config file is stored in a way that allows you to have a
        cache for each remote.

        This is needed when specifying external outputs
        (as they require you to have an external cache location).

        Imagine a config file like the following:

                ['remote "dvc-storage"']
                url = ssh://localhost/tmp
                ask_password = true

                [cache]
                ssh = dvc-storage

        This method resolves the name under the cache section into the
        correct Remote instance.

        Args:
            config (dict): The cache section on the config file
            name (str): Name of the section we are interested in to retrieve

        Returns:
            remote (dvc.Remote): Remote instance that the section is referring.
                None when there's no remote with that name.

        Example:
            >>> _get_remote(config={'ssh': 'dvc-storage'}, name='ssh')
        """
        from dvc.remote import Remote

        remote = config.get(name)

        if not remote:
            return None

        settings = self.repo.config.get_remote_settings(remote)
        return Remote(self.repo, settings)