public void AddChip(object chip)
    {
        this.ChipCount++;

        if (chip is SortChip)
        {
            this._sortChip = (SortChip)chip;
            this._sumChip  = null;
        }

        else
        {
            this._sortChip = null;
            this._sumChip  = (SumChip)chip;
        }
    }
    public static void Main()
    {
        int[]    test  = { 1, 2, 3, 4, 5, 6 };
        Robot    robot = new Robot();
        SortChip sort  = new SortChip(test);
        SumChip  sum   = new SumChip(test);

        robot.AddChip(sort);

        int[] result = robot.ExecuteChip();

        Console.WriteLine("Array in sorted order:");

        foreach (var value in result)
        {
            Console.WriteLine(value.ToString());
        }

        robot.AddChip(sum);
        result = robot.ExecuteChip();

        Console.WriteLine("Array sum:");
        Console.WriteLine(result[0].ToString());
    }