public void ReloadActionList()
        {
            ActionEventCollection a = new ActionEventCollection(_objectMap);

            a.LoadActions();
            _objectMap.SetTypedData(typeof(ActionEventCollection), a);
        }
 private void taskExecuter(IEventPointer eventPointer, object[] eventParameters)
 {
     try
     {
         foreach (EventAction ea in eventHandlers)
         {
             EventPointer ep = eventPointer as EventPointer;
             if (ea.Event.IsSameObjectRef(ep))
             {
                 List <ParameterClass> eventValues = new List <ParameterClass>();
                 if (eventParameters != null && eventParameters.Length > 0)
                 {
                     ParameterInfo[] pifs = ep.Parameters;
                     if (pifs.Length != eventParameters.Length)
                     {
                         throw new DesignerException("Event {0} parameter count mismatch", ep.MemberName);
                     }
                     for (int i = 0; i < pifs.Length; i++)
                     {
                         ParameterClass p = new ParameterClass(new TypePointer(pifs[i].ParameterType));
                         p.Name           = pifs[i].Name;
                         p.ObjectInstance = eventParameters[i];
                         eventValues.Add(p);
                     }
                 }
                 //execute the event handlers
                 TaskIdList actIdList = ea.TaskIDList;
                 foreach (TaskID tid in actIdList)
                 {
                     UInt32 classId = tid.ClassId;
                     //if (tid.IsGroup)
                     //{
                     //}
                     //else
                     //{
                     //find the action in the list of all actions
                     List <IAction> acts = null;
                     if (classId == _map.ClassId)
                     {
                         acts = actions;
                     }
                     else
                     {
                         ObjectIDmap classmap = _map.GetMapByClassId(classId);
                         if (classmap != null)
                         {
                             ActionEventCollection av = classmap.GetTypedData <ActionEventCollection>();
                             if (av == null)
                             {
                                 av = new ActionEventCollection(classmap);
                                 classmap.SetTypedData <ActionEventCollection>(av);
                                 av.LoadActions();
                             }
                             acts = av.actions;
                         }
                     }
                     if (acts != null)
                     {
                         foreach (IAction a in acts)
                         {
                             if (a.ActionId == tid.ActionId)
                             {
                                 a.Execute(eventValues);
                                 break;
                             }
                         }
                     }
                     //}
                 }
                 break;
             }
         }
     }
     catch (Exception err)
     {
         MathNode.Log(err);
     }
 }