public function writeBinary($file, $data, $create = true, $append = false, $modeBoolean = true)
    {
        // Preprocessing
        $file = $this->_preProcess($file);

        // exception for the case that the file|folder isn't writable
        if (!$this->_is_writable($file)) {
            throw new Doozr_Exception(
                'Could not write binary data to file. The file "'.$file.'" could not be written. '.
                'Current operation failed. Check permissions.'
            );
        }

        // append or complete rewrite file?
        if ($append) {
            $result = $this->_append($file, $data, $create, self::FILE_BINARY);
        } else {
            $result = $this->_rewrite($file, $data, $create, self::FILE_BINARY);
        }

        // transform result?
        if ($modeBoolean) {
            $result = ($result !== false) ? true : false;
        }

        // return the result of operation
        return $result;
    }