### Question:
ShiftFlux extends AbstractParametrizedFlux { @Nonnull public ShiftFlux withShift(@Nonnull final Long amount, @Nonnull final ChronoUnit unit) { Arguments.checkNotNull(amount, "Amount is required"); Arguments.checkNotNull(unit, "ChronoUnit is required"); this.withPropertyValue("shift", amount, unit); return this; } ShiftFlux(@Nonnull final Flux source); @Nonnull ShiftFlux withShift(@Nonnull final Long amount, @Nonnull final ChronoUnit unit); @Nonnull ShiftFlux withShift(@Nonnull final String amount); @Nonnull ShiftFlux withColumns(@Nonnull final String[] columns); @Nonnull ShiftFlux withColumns(@Nonnull final Collection<String> columns);  }### Answer:
@Test void shiftByWith() { Flux flux = Flux .from("telegraf") .shift() .withShift(20L, ChronoUnit.DAYS); Assertions.assertThat(flux.toString()) .isEqualToIgnoringWhitespace("from(bucket:\"telegraf\") |> shift(shift: 20d)"); }
@Test void shiftByString() { Flux flux = Flux .from("telegraf") .shift() .withShift("2y"); Assertions.assertThat(flux.toString()) .isEqualToIgnoringWhitespace("from(bucket:\"telegraf\") |> shift(shift: 2y)"); }