public virtual void MoveCar() { if (next != null) { next.MoveCar(); if (Kar != null) { if (next.canMove(this)) { next.Kar = Kar; this.Kar = null; if (next.Haven != null) { if (next.Haven.load()) { next.Kar.Drop(); } } } } } }