MergeCursor extends MapCursor { @Override public LazyRecord next() throws IOException, InterruptedException { LazyRecord next = null; if (state != State.DONE) { if (!forward) { restartAtStartKey(true); } next = neighbor(); } return next; } MergeCursor(AbstractKey startKey, boolean forward);   MergeCursor(Merger merger, AbstractKey startKey, boolean forward); @Override LazyRecord next(); @Override LazyRecord previous(); @Override void goToFirst(); @Override void goToLast(); @Override void goTo(AbstractKey key); @Override void close(); void addInput(MapCursor input); void start();  }
@Test public void testNoInputs() throws IOException, InterruptedException { MergeCursor cursor = forwardMergeCursor(); assertNull(cursor.next()); }