public function setDisplayDescription( $displayDescription )
    {
        if ( empty( $displayDescription ) )
        {
            $displayDescription = array();
        }
        else if ( $displayDescription instanceof Traversable )
        {
            $displayDescription = ArrayUtils::iteratorToArray( $displayDescription );
        }
        else if ( ! is_array( $displayDescription ) )
        {
            $displayDescription = (array) $displayDescription;
        }

        if ( ! isset( $displayDescription[static::FALLBACK_LOCALE] ) )
        {
            reset( $displayDescription );
            $key = key( $displayDescription );
            $displayDescription[static::FALLBACK_LOCALE] = $displayDescription[$key];
            unset( $displayDescription[$key] );
        }

        $this->displayDescription = $displayDescription;
        return $this;
    }