def METHOD_NAME(
        self,
        feat: Optional[torch.Tensor] = None,
        out_enc: torch.Tensor = None,
        data_samples: Optional[Sequence[TextRecogDataSample]] = None
) -> Dict:
    """
    Args:
        feat (torch.Tensor, optional): Not required. Feature map
            placeholder. Defaults to None.
        out_enc (Tensor): Raw language logitis. Shape :math:`(N, T, C)`.
            Defaults to None.
        data_samples (list[TextRecogDataSample], optional): Not required.
            DataSample placeholder. Defaults to None.
    Returns:
        A dict with keys ``out_enc``, ``out_decs`` and ``out_fusers``.
        - out_vis (dict):  Dict from ``self.vision_decoder`` with keys
          ``feature``, ``logits`` and ``attn_scores``.
        - out_langs (dict or list): Dict from ``self.vision_decoder`` with
          keys ``feature``, ``logits`` if applicable, or an empty list
          otherwise.
        - out_fusers (dict or list): Dict of fused visual and language
          features with keys ``feature``, ``logits`` if applicable, or
          an empty list otherwise.
    """
    out_vis = self.vision_decoder(feat, out_enc, data_samples)
    out_langs = []
    out_fusers = []
    if self.language_decoder is not None:
        text_logits = out_vis['logits']
        for _ in range(self.num_iters):
            out_dec = self.language_decoder(feat, text_logits,
                                            data_samples)
            out_langs.append(out_dec)
            out_fuser = self.fuse(out_vis['feature'], out_dec['feature'])
            text_logits = out_fuser['logits']
            out_fusers.append(out_fuser)
    outputs = dict(
        out_vis=out_vis, out_langs=out_langs, out_fusers=out_fusers)
    return outputs