public IElementPosition getNextPosition(IVehicle vehicle, float distance, IRoad nextElement) throws Exception {
//assert (false);
IElementPosition retVal = null;
float pos = this.value;
boolean needKeepCross = element.needKeepCross(vehicle);
if (needKeepCross){
if (this.value>=0){