docs: @SuppressWarnings("HiddenField")
    @Override
    public Streamlet<R> withStream(String streamId) {
      checkNotBlank(streamId, "streamId can't be empty");
  
      Set<String> availableIds = getAvailableStreamIds();
      if (availableIds.contains(streamId)) {
        return new StreamletShadow<R>(this) {
          @Override
          public String getStreamId() {
            return streamId;
          }
        };
      } else {
        throw new RuntimeException(
            String.format("Stream id %s is not available in %s. Available ids are: %s.",
                          streamId, getName(), availableIds.toString()));
      }
    }