public float Cost(IZone origin, IZone destination, Time time) { CheckInterChangeZone(); return(First.Cost(origin, InterchangeZone, time) + Second.Cost(origin, InterchangeZone, time)); }