RetrieveThingsLiveCommandImpl extends AbstractQueryLiveCommand<RetrieveThingsLiveCommand,
        RetrieveThingsLiveCommandAnswerBuilder> implements RetrieveThingsLiveCommand { @Override public RetrieveThingsLiveCommand setDittoHeaders(final DittoHeaders dittoHeaders) { final RetrieveThings retrieveThingsCommand = RetrieveThings.getBuilder(getThingEntityIds()) .dittoHeaders(dittoHeaders) .selectedFields(getSelectedFields().orElse(null)) .build(); return RetrieveThingsLiveCommandImpl.of(retrieveThingsCommand); } private  RetrieveThingsLiveCommandImpl(final RetrieveThings command); @Nonnull static RetrieveThingsLiveCommandImpl of(final Command<?> command); @Nonnull @Override List<ThingId> getThingEntityIds(); @Nonnull @Override Optional<String> getNamespace(); @Override RetrieveThingsLiveCommand setDittoHeaders(final DittoHeaders dittoHeaders); @Nonnull @Override RetrieveThingsLiveCommandAnswerBuilder answer(); @Nonnull @Override String toString();  }
@Test public void setDittoHeadersReturnsExpected() { final DittoHeaders emptyDittoHeaders = DittoHeaders.empty(); final RetrieveThingsLiveCommand newRetrieveThingsLiveCommand = underTest.setDittoHeaders(emptyDittoHeaders); assertThat(newRetrieveThingsLiveCommand).withDittoHeaders(emptyDittoHeaders); }