private void AddExternalEvaluatorToPanel(int category, PanelSlot panel)
 {
     while(panel.RemainigVacancies>0)
     {
         String eval;
         do
         {
             eval = externalevaluatorVector[r.Next(0, externalevaluatorVector.Count)];
         } while (!tsmm.GetExternalEvaluaterPossibility(category, eval));
         externalevaluatorVector.Remove(eval);
         panel.AddExternalEvaluator(eval);
     }
 }
 private PanelSlot TransferExternalEvaluators(PanelSlot externalEvalDorner, PanelSlot externalEvalreceiver, int category)
 {
     PanelSlot resultantPanel = new PanelSlot(externalEvalreceiver, category);
     List<String> externallEvaluators = externalEvalDorner.ExternaEvaluators;
     for (int i = 0; i < externallEvaluators.Count; i++)
     {
         resultantPanel.AddExternalEvaluator(externallEvaluators[i]);
     }
     return (resultantPanel);
 }
 private List<PanelSlot> CreateSplitPanels(PanelSlot internalEvalDorner, PanelSlot externalEvalDorner,int category)
 {
     List<PanelSlot> newPanels = new List<PanelSlot>();
     PanelSlot seniorPanel = new PanelSlot(externalEvalDorner,category);
     PanelSlot juniorPanel = new PanelSlot(internalEvalDorner, category);
     String externalEvaluator = seniorPanel.RemoveExternalEvaluator(true);
     newPanels.Add(seniorPanel);
     String internalEvaluator = juniorPanel.RemoveInternalEvaluator();
     newPanels.Add(juniorPanel);
     PanelSlot splitPanel = new PanelSlot(category, 0);
     splitPanel.AddInternalEvaluator(internalEvaluator);
     splitPanel.AddExternalEvaluator(externalEvaluator);
     newPanels.Add(splitPanel);
     return (newPanels);
 }