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