RevenueWithdrawalStateSucceeded::fromArray($data), RevenueWithdrawalType::FAILED => RevenueWithdrawalStateFailed::fromArray($data), RevenueWithdrawalType::PENDING => RevenueWithdrawalStatePending::fromArray($data), default => throw new InvalidArgumentException('Unknown RevenueWithdrawalType') }; } }