protected function moveVirtualFolder( $sourceSite, $destinationSite,
                                $source, $destination,
                                $fullSource, $fullDestination )
    {
        $this->setCurrentSite( $sourceSite );

        $source = $this->splitFirstPathElement( $source, $sourceVFolder );
        $destination = $this->splitFirstPathElement( $destination, $destinationVFolder );

        if ( !$source or
             !$destination )
        {
            // We have reached the end of the path for source or destination
            // We do not allow 'move' operations for the virtual folder (from or to)
            return false; // @as self::FAILED_FORBIDDEN;
        }

        if ( ( $sourceVFolder === self::virtualContentFolderName() or
               $sourceVFolder === self::virtualMediaFolderName() ) and
             ( $destinationVFolder === self::virtualContentFolderName() or
               $destinationVFolder === self::virtualMediaFolderName() ) )
        {
            return $this->moveContent( $sourceSite, $destinationSite,
                                       $sourceVFolder, $destinationVFolder,
                                       $source, $destination,
                                       $fullSource, $fullDestination );
        }

        return false; // @as self::FAILED_FORBIDDEN;
    }