protected function assertTmpFile()
    {
        if (empty($this->tmpName)) {
            throw new \RuntimeException("There is no tmp_file for " . $this->getDesc()
                . ": " . $this->getErrorDescription());
        }
        
        if (!file_exists($this->tmpName)) {
            throw new \RuntimeException("The " . $this->getDesc() . " no longer exists or is already moved");
        }
        
        if ($this->assertIsUploadedFile && !$this->isUploadedFile($this->tmpName)) {
            throw new \RuntimeException("The specified tmp_name for " . $this->getDesc() . " doesn't appear"
                . " to be uploaded via HTTP POST");
        }
    }