public static Read<Solace.Record> read() {
    return new Read<Solace.Record>(
        Read.Configuration.<Solace.Record>builder()
            .setTypeDescriptor(TypeDescriptor.of(Solace.Record.class))
            .setParseFn(SolaceRecordMapper::map)
            .setTimestampFn(SENDER_TIMESTAMP_FUNCTION)
            .setDeduplicateRecords(DEFAULT_DEDUPLICATE_RECORDS)
            .setWatermarkIdleDurationThreshold(DEFAULT_WATERMARK_IDLE_DURATION_THRESHOLD));
  }
@Test
  public void testSplitsForExclusiveQueue() throws Exception {
    MockSempClient mockSempClient =
        MockSempClient.builder().setIsQueueNonExclusiveFn((q) -> false).build();

    Read<Record> spec =
        SolaceIO.read()
            .from(Solace.Queue.fromName("queue"))
            .withSempClientFactory(new MockSempClientFactory(mockSempClient))
            .withSessionServiceFactory(MockSessionServiceFactory.getDefaultMock());

    int desiredNumSplits = 5;

    UnboundedSolaceSource<Record> initialSource = getSource(spec, pipeline);
    List<UnboundedSolaceSource<Record>> splits =
        initialSource.split(desiredNumSplits, PipelineOptionsFactory.create());
    assertEquals(1, splits.size());
  }