protected function performDelete( $target )
    {
        switch ( $_SERVER['REQUEST_METHOD'] )
        {
            case 'MOVE':
                // in case performDelete() was called from a MOVE operation,
                // do not delete anything, because the move() function in
                // ezcWebdavSimpleBackend first calls performDelete(), which
                // deletes the destination if the source and destination
                // are the same in URL alias terms
                return null;

            default:
                $errors = $this->checkDeleteRecursive( $target );
                break;
        }

        // If an error will occur return the proper status. We return
        // multistatus in any case.
        if ( count( $errors ) > 0 )
        {
            return new ezcWebdavMultistatusResponse(
                $errors
            );
        }

        $fullPath = $target;
        $target = $this->splitFirstPathElement( $target, $currentSite );

        $status = $this->deleteVirtualFolder( $currentSite, $target );
        // @as @todo return based on $status

        // Return success
        return null;
    }