By checking ``isUnderlyingValid`` *before* creating the WorkspaceRunnable, you risk that the ``underlying`` project is deleted or closed in between the two actions (I know, it's unlikely, but it can happen).