public function getKeyTranslation(Model $foreignObject, $key = null)
    {
        if (isset($key)) {
            return $this->internalGetKeyTranslation($foreignObject, $key);
        }

        foreach ($this->keys as $keyName => $keyField) {
            if (!empty($foreignObject->{$keyField})) {
                $key = $this->generateKey($foreignObject, $keyName, $foreignObject->{$keyField});
                $result = $this->internalGetKeyTranslation($foreignObject, $key);
                if (!empty($result)) {
                    return $result;
                }
            }
        }

        return false;
    }