def METHOD_NAME(self):
    fks = []
    prefetches = []
    if self.joins:
        for join in self.joins:
            if isinstance(join, ForeignKeyJoin):
                formatted = "{}__{}".format(self.column, join.column)
                fks.append(formatted)
                child_fks, child_prefetches = join.METHOD_NAME()
                for fk in child_fks:
                    try:
                        if isinstance(fk, str):
                            fks.append("{}__{}".format(formatted, fk))
                        else:
                            fks.append("{}__{}".format(formatted, fk.column))
                    except:
                        pass
                for prefetch in child_prefetches:
                    try:
                        if isinstance(fk, str):
                            prefetches.append("{}__{}".format(
                                formatted, prefetch))
                        else:
                            prefetches.append("{}__{}".format(
                                formatted, prefetch.prefetch_to))
                    except AttributeError:
                        raise Exception(f"Developer Action - {prefetch} incorrectly configured.")
            else:
                formatted = "{}__{}".format(self.column, join.prefetch_to)
                prefetches.append(formatted)
    return fks, prefetches