arriving = systemEffectiveFromTimeModel.appendFields(arriving); arriving = systemEffectiveToTimeModel.appendFields(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.append(arriving, getCurrentFlagFieldName(), DataTypes.StringType, null); arriving = systemEffectiveFromTimeModel.setCurrentSystemTime(arriving); arriving = systemEffectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagYesValue()); arriving = systemEffectiveFromTimeModel.setCurrentSystemTime(arriving); arriving = systemEffectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), RowUtils.get(plan, getCurrentFlagFieldName())); if (hasCurrentFlagField()) { plan = RowUtils.set(plan, getCurrentFlagFieldName(), getCurrentFlagNoValue()); arriving = systemEffectiveFromTimeModel.setCurrentSystemTime(arriving); arriving = systemEffectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagNoValue()); arriving = systemEffectiveFromTimeModel.setCurrentSystemTime(arriving); arriving = systemEffectiveToTimeModel.setFarFutureTime(arriving); if (hasCurrentFlagField()) { arriving = RowUtils.set(arriving, getCurrentFlagFieldName(), getCurrentFlagNoValue()); if (hasCurrentFlagField()) {