def METHOD_NAME(
        self,
        pos: Any,
        *,
        name: str = None,
        current: Any = None,
        initial: Any = None,
        target: Any = None,
        unit: str = "units",
        precision: Any = None,
        fraction: Any = None,
        time_elapsed: float = None,
        time_remaining: float = None,
):
    if all(x is not None for x in (current, initial, target)):
        # In this case there is enough information to draw a progress bar with
        # current and maximum values
        total = round(_L2norm(target, initial), precision or 3)
        n = np.clip(round(_L2norm(current, initial), precision or 3), 0, total)
        if time_elapsed is None:
            time_elapsed = time.time() - self.creation_time
        meta = tqdm_nb.format_meter(
            n=n,
            total=total,
            elapsed=time_elapsed,
            unit=unit,
            prefix=name,
            ncols=79,
            bar_format="{r_bar}",
        )
        self.draw(
            pos,
            name or "",
            meta,
            color=html_color_from_name(name or ""),
            total=total,
            value=n,
        )
    elif self.status_objs[pos].done:
        # In this case the operation is complete, we just
        # display a finished progress bar
        # and a completion message.
        self.draw(
            pos,
            name or "",
            "[Complete.]",
            color=html_color_from_name(name or ""),
            value=1,
        )
    else:
        # In this case there is not enough information to draw a progress bar so
        # we just display a message.
        self.draw(pos, name or "", "[In progress. No progress bar available.]")