protected static function handleDELETE(
        $parameters,
        $method,
        $headers,
        $id,
        $modelClass,
        $primaryDataParameters = [],
        $validationCallbacks = [],
        $viewCallback = null
    ) {
        if ($viewCallback !== null && !is_callable($viewCallback)) {
            throw new ServerException('View callback is not callable!');
        }

        //Fetch data, in order to check if resource exists (and/or is accessible)
        $resource = $modelClass::getById(
            $id,
            null, //fields
            ...$primaryDataParameters
        );

        //Check if resource exists
        static::exists($resource);

        //Call validation callbacks if set
        foreach ($validationCallbacks as $callback) {
            call_user_func(
                $callback,
                $id,
                $resource
            );
        }

        $delete = $modelClass::delete($id, $primaryDataParameters);

        if (!$delete) {
            throw new RequestException(
                'Unable to delete record'
            );
        }

        if ($viewCallback !== null) {
            return call_user_func(
                $viewCallback,
                $id
            );
        }

        \Phramework\JSONAPI\Viewers\JSONAPI::header();

        \Phramework\Models\Response::noContent();

        return true;
    }