### Question:
HistoryUtil { public static List<Revision> selectRevisionHistorySetFrom( @Nullable final List<Revision> history, final String from, final int start, final int limit ) { if (history == null) { return Collections.emptyList(); } int i = 0; for (final Revision rev : history) { if (rev.getRevision().equals(from)) { break; } i++; } return selectHistorySet(history, start + i, limit); }  static List<T> selectHistorySet(
            @Nullable final List<T> history,
            final int start,
            final int limit
    ); static List<Revision> selectRevisionHistorySetFrom(
            @Nullable final List<Revision> history,
            final String from,
            final int start,
            final int limit
    );  }### Answer:
@Test public void testSelectRevisionHistorySetFrom() { final List<Revision> result = selectRevisionHistorySetFrom(REVISION_HISTORY, "2", 0, 3); assertEquals(REVISION_HISTORY.subList(1, 4), result); }
@Test public void testSelectRevisionHistorySetFromReturnEmtpy() { final List<Revision> result = selectRevisionHistorySetFrom(REVISION_HISTORY, "5", 1, 3); assertEquals(Collections.emptyList(), result); }
@Test public void testSelectRevisionHistorySetFromNonexistence() { final List<Revision> result = selectRevisionHistorySetFrom(REVISION_HISTORY, "hello", 0, 3); assertEquals(Collections.emptyList(), result); }
@Test public void testSelectRevisionHistorySetFromNullHistories() { final List<Revision> result = selectRevisionHistorySetFrom(null, "1", 0, 3); assertEquals(Collections.emptyList(), result); }