public virtual void addNewMinionToBoard(BoardSide current, Card c, int position, bool overAllow)
    {
        if (position == -1)
        {
            position = current.Count - 1;
        }
        c.justCreated = true;
        printDebugMessage("Minion added to board " + (current == p1Board ? 1 : 2) + ": " + c.ID, OutputPriority.BOARDCHANGES);

        printDebugMessage("CURRENT IS NOW :" + current.Count, OutputPriority.COMMUNICATION);
        if (overAllow)
        {
            if (current.Count >= 7 + current.deadMinions())
            {
                return;
            }
        }
        else
        if (current.Count >= 7)
        {
            return;
        }
        if (current.Count == position + 1)
        {
            current.Add(c);
        }
        else
        {
            current.Insert(position + 1, c);
        }
        Card lastCard = null;

        for (int i = 0; i < current.Count; i++)
        {
            if (current[i] == lastCard)
            {
                continue;
            }
            lastCard = current[i];
            current[i].performedAction(new CardSpawnedAction(c), this);
        }
    }