This article describes the methods used to collect all versions of a given Item.


 public static IswItems GetAllVersionsOfItem(IswItem item)
{
//Store all the versions.
IswItems allVersions = SWConnection.Instance.Broker.Lists.NewItemList();

//Get the first version. It is easiest to start there.
IswItem firstVersion = SWConnection.Instance.Broker.GetItem(item.AncestorHandle);

AddAllVersionToList(firstVersion, allVersions);

return allVersions;
}

private static void AddAllVersionToList(IswItem currentVersion, IswItems allVersions)
{
allVersions.Add(currentVersion);

// Iterate over all next versions recursively.
foreach (IswItem nextVersion in currentVersion.NextVersions)
{
AddAllVersionToList(nextVersion, allVersions);
}
}