roster.addOperation(new Roster.Install(branch.download,
roster.addOperation(new Roster.Install((downloadSource ? branch.downloadSource : branch.download),
		void install(Roster roster, String installDirectory, boolean downloadSource)		{			if(installed != null)				roster.addOperation(new Roster.Remove(installed));			Branch branch = getCompatibleBranch();			if(branch.obsolete)				return;			branch.satisfyDependencies(roster,installDirectory,				downloadSource);			if(installed != null)			{				installDirectory = MiscUtilities.getParentOfPath(					installed);			}			roster.addOperation(new Roster.Install(branch.download,				installDirectory));			if(downloadSource)			{				roster.addOperation(new Roster.Install(branch.downloadSource,					installDirectory));			}		}