Re use workspace

When a workspace exists and we want to collect the child projects, there's no need to re-create workspace objects for each of them. This results in lost context when the root workspace was created programmatically.

Correcting this eliminates the extraneous reference of a project to itself in the dependson association.