def METHOD_NAME(self):
    """
    Returns the directory of the pillars (repo cache + branch + root)
    """
    repo_dir = self.repo_dir
    root = self.root
    branch = self.branch
    if branch == "trunk" or branch == "base":
        working_dir = os.path.join(repo_dir, "trunk", root)
        if not os.path.isdir(working_dir):
            log.error("Could not find %s/trunk/%s", self.repo_location, root)
        else:
            return os.path.normpath(working_dir)
    working_dir = os.path.join(repo_dir, "branches", branch, root)
    if os.path.isdir(working_dir):
        return os.path.normpath(working_dir)
    working_dir = os.path.join(working_dir, "tags", branch, root)
    if os.path.isdir(working_dir):
        return os.path.normpath(working_dir)
    log.error("Could not find %s/branches/%s/%s", self.repo_location, branch, root)
    return repo_dir