arriving = effectiveToTimeModel.appendFields(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.append(arriving, getCurrentFlagFieldName(), DataTypes.StringType, null); arriving = effectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagYesValue()); arriving = PlannerUtils.copyTime(plan, effectiveToTimeModel, arriving, effectiveToTimeModel); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), RowUtils.get(plan, getCurrentFlagFieldName())); arriving = PlannerUtils.copyPrecedingTime(plan, eventTimeModel, arriving, effectiveToTimeModel); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagNoValue()); arriving = PlannerUtils.copyPrecedingTime(nextPlanned, eventTimeModel, arriving, effectiveToTimeModel); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagNoValue()); plan = RowUtils.set(plan, getCurrentFlagFieldName(), getCurrentFlagNoValue()); arriving = effectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagYesValue()); plan = RowUtils.set(plan, getCurrentFlagFieldName(), getCurrentFlagNoValue());