*/
private AddonActionRequest createRequest(final AddonInfo addonInfo, final MutableAddonRepository repository,
final Collection<AddonId> installedAddons)
{
final AddonActionRequest request;
AddonId addon = addonInfo.getAddon();
if (installedAddons.contains(addon))
{
// Already contains the installed addon. Update ONLY if the version is SNAPSHOT
if (Versions.isSnapshot(addonInfo.getAddon().getVersion()) && updateSnapshotDependencies)
{
request = createUpdateRequest(addonInfo, addonInfo, repository, furnace);
}
else
{
request = null;
}
}
else
{
AddonId differentVersion = null;
for (AddonId addonId : installedAddons)
{
if (addonId.getName().equals(addon.getName()))
{
differentVersion = addonId;
break;
}
}
if (differentVersion != null)
{
// TODO: Use Lincoln's new Version/Versions class
if (differentVersion.getVersion().toString().compareTo(addon.getVersion().toString()) < 0)
{
request = createUpdateRequest(info(differentVersion), addonInfo, repository, furnace);
}
else
{