internal void UnregisterNodeCondition(TreeNode node, BaseCondition cond)
{
ArrayList list = (ArrayList)conditionsToNodes [cond];
if (list == null)
{
return;
}
list.Remove(node);
if (list.Count == 0)
{
conditionsToNodes.Remove(cond);
ArrayList conditionTypeIds = new ArrayList();
cond.GetConditionTypes(conditionTypeIds);
foreach (string cid in conditionTypes.Keys)
{
ConditionInfo info = conditionTypes [cid] as ConditionInfo;
if (info != null && info.BoundConditions != null)
{
info.BoundConditions.Remove(cond);
}
}
}
}