public function overwriteAction($anId, Request $aRequest, FileCommandBus $aCommandBus, $aProperty)
    {
        if (false === $aRequest->files->has($aProperty)) {
            throw new \InvalidArgumentException(sprintf('Given %s property is not in the request', $aProperty));
        }

        $uploadedFile = $aRequest->files->get($aProperty);
        $command = new OverwriteFileCommand(
            $anId,
            $uploadedFile->getClientOriginalName(),
            file_get_contents($uploadedFile->getPathname()),
            $uploadedFile->getMimeType()
        );
        $aCommandBus->handle($command);

        $aRequest->files->remove($aProperty);

        return [
            'id'        => $command->id(),
            'filename'  => $uploadedFile->getClientOriginalName(),
            'mime_type' => $uploadedFile->getMimeType(),
        ];
    }