public function unload($mAssets, $sAssetLocation = 'APP', $sForceType = null)
    {
        //  Cast as an array
        $aAssets = (array) $mAssets;

        // --------------------------------------------------------------------------

        //  Backwards compatibility
        $sAssetLocation = $sAssetLocation === true ? 'NAILS' : $sAssetLocation;

        // --------------------------------------------------------------------------

        switch (strtoupper($sAssetLocation)) {

            case 'NAILS-BOWER':

                $sAssetLocationMethod = 'unloadNailsBower';
                break;

            case 'NAILS-PACKAGE':

                $sAssetLocationMethod = 'unloadNailsPackage';
                break;

            case 'NAILS':

                $sAssetLocationMethod = 'unloadNails';
                break;

            case 'APP-BOWER':
            case 'BOWER':

                $sAssetLocationMethod = 'unloadAppBower';
                break;

            case 'APP-PACKAGE':
            case 'PACKAGE':

                $sAssetLocationMethod = 'unloadAppPackage';
                break;

            case 'APP':

                $sAssetLocationMethod = 'unloadApp';
                break;

            default:

                $sAssetLocationMethod = 'unloadModule';
                break;
        }

        // --------------------------------------------------------------------------

        foreach ($aAssets as $sAsset) {

            if (preg_match('#^https?://#', $sAsset)) {

                $this->unloadUrl($sAsset, $sForceType);

            } elseif (substr($sAsset, 0, 0) == '/') {

                $this->unloadAbsolute($sAsset, $sForceType);

            } else {

                $this->{$sAssetLocationMethod}($sAsset, $sForceType, $sAssetLocation);
            }
        }

        // --------------------------------------------------------------------------

        return $this;
    }