private WarehouseModel AddRecursiveWarehouseHierarchy(WarehouseModel warehouse)
        {
            try
            {
                var warehouseModel = Mapper.Map <WarehouseModel, WarehouseDTO>(warehouse);

                warehouse.Trucks   = Mapper.Map <List <TruckDTO>, List <TruckModel> >(_truckRepository.FindByParent(warehouseModel));
                warehouse.NextHops = Mapper.Map <List <WarehouseDTO>, List <WarehouseModel> >(_warehouseRepository.FindByParent(warehouseModel));

                foreach (WarehouseModel wh in warehouse.NextHops)
                {
                    AddRecursiveWarehouseHierarchy(wh);
                }

                return(warehouse);
            }
            catch (Exception ex)
            {
                throw new BLException("Error loading warehouse (recursion)", ex);
            }
        }