@Override
  public KsMaterializedQueryResult<WindowedRow> get(
      final GenericKey key,
      final int partition,
      final Range<Instant> windowStart,
      final Range<Instant> windowEnd,
      final Optional<Position> position
  ) {
    try {
      final ReadOnlySessionStore<GenericKey, GenericRow> store = stateStore
          .store(QueryableStoreTypes.sessionStore(), partition);

      return KsMaterializedQueryResult.rowIterator(
          findSession(store, key, windowStart, windowEnd).iterator());
    } catch (final Exception e) {
      throw new MaterializationException("Failed to get value from materialized table", e);
    }
  }
@Test
  public void shouldIgnoreSessionsThatStartAfterUpperBound() {
    // Given:
    givenSingleSession(UPPER_INSTANT.plusMillis(1), UPPER_INSTANT.plusMillis(1));

    // When:
    final Iterator<WindowedRow> rowIterator =
        table.get(A_KEY, PARTITION, WINDOW_START_BOUNDS, WINDOW_END_BOUNDS).rowIterator;

    // Then:
    assertThat(rowIterator.hasNext(), is(false));
  }