public static void RunChainOfResponsibility()
        {
            var timCabRequest = new ReImbursement("R4322", "Tim Berners-Lee", 900.0, "Took Cab for Airport");
            var itRequest     = new ReImbursement("IT", "Team IT", 35000.0, "Purchased Desktop for Team");

            Approver manager   = new Manager("Q1234", "James Gosling");
            Approver srManager = new SeniorManager("W1234", "Bill Gates");
            Approver director  = new Director("S1234", "Steve Jobs");

            manager.SetNextEscalation(srManager);
            srManager.SetNextEscalation(director);

            manager.Approve(timCabRequest);
            manager.Approve(itRequest);
        }
    public static void RunChainOfResponsibility()
    {
      var timCabRequest = new ReImbursement("R4322", "Tim Berners-Lee", 900.0, "Took Cab for Airport");
      var itRequest = new ReImbursement("IT", "Team IT", 35000.0, "Purchased Desktop for Team");

      Approver manager = new Manager("Q1234", "James Gosling");
      Approver srManager = new SeniorManager("W1234", "Bill Gates");
      Approver director = new Director("S1234", "Steve Jobs");

      manager.SetNextEscalation(srManager);
      srManager.SetNextEscalation(director);

      manager.Approve(timCabRequest);
      manager.Approve(itRequest);
    }