def METHOD_NAME(self,
                    available_currents: List[float],
                    raw_power_left: Optional[float],
                    feed_in: Optional[float]) -> Tuple[List[float], Optional[LimitingValue]]:
    currents = available_currents.copy()
    limit = None
    if raw_power_left:
        if feed_in:
            raw_power_left = raw_power_left - feed_in
            log.debug(f"Verbleibende Leistung unter Berücksichtigung der Einspeisegrenze: {raw_power_left}W")
        if sum(available_currents)*230 > raw_power_left:
            for i in range(0, 3):
                # Am meisten belastete Phase trägt am meisten zur Leistungsreduktion bei.
                currents[i] = available_currents[i] / sum(available_currents) * raw_power_left / 230
            log.debug(f"Leistungsüberschreitung auf {raw_power_left}W korrigieren: {available_currents}")
            limit = LimitingValue.POWER
    return currents, limit