return instance;
}
public Dependency newDependency(HasDependencies predecessor, HasDependencies successor, int dependencyType, long lead, Object eventSource) throws InvalidAssociationException {
if (predecessor == successor)
throw new InvalidAssociationException(Messages.getString("Message.cantLinkToSelf"));
Task successorTask = (Task)successor;
if (successorTask.isExternal())
throw new InvalidAssociationException(Messages.getString("Message.cantLinkToExternal"));
if (successorTask.isSubproject() && !((SubProj)successorTask).isWritable())
throw new InvalidAssociationException(Messages.getString("Message.cantLinkToClosedSubproject"));
Dependency dependency = Dependency.getInstance(predecessor, successor, dependencyType, lead);
dependency.testValid(false); // throws if exception
connect(dependency,eventSource);
dependency.setDirty(true);