If TaskExecutorImpl is asked to extract a project to a path that is not detected as a project by any language plugin, then it just extracts to target overwriting everything.
The special case of a new exercise should be handled so that nothing is overwritten, since in all legit cases the target should be a non-existent path.
After all, we want to avoid the case of overwriting some system path with our stuff accidentally.
If TaskExecutorImpl is asked to extract a project to a path that is not detected as a project by any language plugin, then it just extracts to target overwriting everything.
The special case of a new exercise should be handled so that nothing is overwritten, since in all legit cases the target should be a non-existent path.
After all, we want to avoid the case of overwriting some system path with our stuff accidentally.