@Override public double getDistanceTravelled(LocationType initialPosition) { double meters = startFromCurrentPosition ? 0 : getStartLocation().getDistanceInMeters(initialPosition); double depthDiff = startFromCurrentPosition ? initialPosition.getAllZ() : getStartLocation().getAllZ(); meters += depthDiff; return meters; }