public override bool Equals(Object object2)
        {
            if ((!(object2 is Football) ||
                 !base.Equals(object2)))
            {
                return(false);
            }

            Football bet2 = ((Football)(object2));

            return(bet2.goalkeeper == this.goalkeeper);
        }
        static void Main(string[] args)
        {
            List <Bet> bets     = new List <Bet>();
            List <Bet> betsCopy = new List <Bet>();

            Football football = new Football();

            football.type       = "percent bet";
            football.amount     = 200;
            football.goalkeeper = "Muller";
            football.team       = "Schachtar";
            football.getInfo();
            bets.Add(football);

            Football anotherFootball = (Football)football.clone();

            anotherFootball.getInfo();
            betsCopy.Add(anotherFootball);

            Formula1 formula1 = new Formula1();

            formula1.best_driver = "Michael Schumacher";
            formula1.type        = "on best driver";
            formula1.team        = "Janbo";
            formula1.amount      = 2500;
            formula1.getInfo();
            bets.Add(formula1);

            Formula1 anotherFormula1 = (Formula1)formula1.clone();

            anotherFormula1.getInfo();
            betsCopy.Add(anotherFormula1);

            football.amount     = 500;
            football.goalkeeper = "Konoplyk";
            football.getInfo();
            anotherFootball.getInfo();

            cloneAndCompare(bets, betsCopy);

            Console.ReadLine();
        }