public function createCall($path, $command, array $arguments)
    {
        if (!self::isWindows()) {
            $binary = escapeshellcmd($this->path);
        } else {
            $binary = $this->path;
        }
        if (!empty($command)) {
            $command    = escapeshellarg($command);
        }

        list($args, $files) = $this->sanitizeCommandArguments($arguments);
        $cmd                = $this->createCallCommand($binary, $command, $args, $files);
        $call               = $this->doCreateCall($cmd, $path);
        return $call;
    }