public function getTranslatedByMethod(ValueObject $object, $method, $forcedLanguage = null)
    {
        if (!method_exists($object, $method)) {
            throw new InvalidArgumentException('$method', "Method '{$method}' not found on " . get_class($object));
        }

        foreach ($this->getLanguages($forcedLanguage) as $lang) {
            if ($value = $object->$method($lang)) {
                return $value;
            }
        }
    }