...
I originally thought that the test builder factory classes would go into the csf-test module, as they are intended to be helper classes for unit tests. However, because the builder classes use the domain classes, this setup would cause circular dependencies - for example, csf-common-legacy would depend on csf-test, and csf-test would depend on csf-common-legacy. Because of this, it seems to make sense to place the builder classes close to the domain objects they are building. So the CoreDataFactory could go into csf-common-legacy in a new package in the domain area: edu.mit.common.domain.builders
A different way of looking at this is that by creating the helper classes, we are just abstracting out duplicate code from the unit test classes themselves. So perhaps the builders do belong in the test hierarchy. They are not strictly unit tests themselves, but by putting them under test, they would only be used when tests were run and would not be deployed as part of an app.