Don't run analyzeUsage if it was already run once.
Abstract class of PhasedUnits to allow storing Weak or soft references
Allow overriding the assignment of the PhasedUnits to
PhasedUnitOfDependencies.
Useful for the IDE.
Allow comparing LazyDeclarations and Declarations.
Now use Declaration.getModelClass() in equals() (to be overridden by the
compiler lazy Declaration-derived classes)