test_class.file: code/src/test/java/com/googlecode/cqengine/resultset/iterator/MarkableIteratorTest.java
test_class.identifier: MarkableIteratorTest
test_case.body: @Test(expected = IllegalStateException.class)
      public void testResetWithoutMark() {
          List<Integer> input = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
  
          MarkableIterator<Integer> markableIterator= new MarkableIterator<Integer>(input.iterator());
          Assert.assertEquals(MarkableIterator.State.READ, markableIterator.state);
  
          markableIterator.reset();
      }
test_case.class_method_signature: MarkableIteratorTest.testResetWithoutMark()
test_case.full_signature: @Test(expected = IllegalStateException.class) public void testResetWithoutMark()
test_case.identifier: testResetWithoutMark
test_case.invocations: asList iterator assertEquals reset
test_case.modifiers: @Test(expected = IllegalStateException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testResetWithoutMark()
focal_class.declarator: emptyIterator = Collections.<T>emptyList().iterator()
focal_class.modifier: final
focal_class.original_string: final Iterator<T> emptyIterator = Collections.<T>emptyList().iterator();
focal_class.type: Iterator<T>
focal_class.var_name: emptyIterator
focal_class.declarator: backingIterator
focal_class.modifier: final
focal_class.original_string: final Iterator<T> backingIterator;
focal_class.type: Iterator<T>
focal_class.var_name: backingIterator
focal_class.declarator: state = State.READ
focal_class.original_string: State state = State.READ;
focal_class.type: State
focal_class.var_name: state
focal_class.declarator: replayBuffer = Collections.emptyList()
focal_class.original_string: List<T> replayBuffer = Collections.emptyList();
focal_class.type: List<T>
focal_class.var_name: replayBuffer
focal_class.declarator: replayIterator = emptyIterator
focal_class.original_string: Iterator<T> replayIterator = emptyIterator;
focal_class.type: Iterator<T>
focal_class.var_name: replayIterator
focal_class.declarator: readLimit = 0
focal_class.original_string: int readLimit = 0;
focal_class.type: int
focal_class.var_name: readLimit
focal_class.file: code/src/main/java/com/googlecode/cqengine/resultset/iterator/MarkableIterator.java
focal_class.identifier: MarkableIterator
focal_class.interfaces: implements Iterator<T>
focal_class.class_method_signature: MarkableIterator.MarkableIterator(Iterator<T> backingIterator)
focal_class.full_signature: public  MarkableIterator(Iterator<T> backingIterator)
focal_class.identifier: MarkableIterator
focal_class.modifiers: public
focal_class.parameters: (Iterator<T> backingIterator)
focal_class.signature:  MarkableIterator(Iterator<T> backingIterator)
focal_class.class_method_signature: MarkableIterator.hasNext()
focal_class.full_signature: @Override public boolean hasNext()
focal_class.identifier: hasNext
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasNext()
focal_class.class_method_signature: MarkableIterator.next()
focal_class.full_signature: @Override public T next()
focal_class.identifier: next
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T next()
focal_class.class_method_signature: MarkableIterator.remove()
focal_class.full_signature: @Override public void remove()
focal_class.identifier: remove
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void remove()
focal_class.class_method_signature: MarkableIterator.mark(int readLimit)
focal_class.full_signature: public void mark(int readLimit)
focal_class.identifier: mark
focal_class.modifiers: public
focal_class.parameters: (int readLimit)
focal_class.return: void
focal_class.signature: void mark(int readLimit)
focal_class.class_method_signature: MarkableIterator.reset()
focal_class.full_signature: public void reset()
focal_class.identifier: reset
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: MarkableIterator.populateFromIterator(List<T> collection, Iterator<T> iterator)
focal_class.full_signature:  List<T> populateFromIterator(List<T> collection, Iterator<T> iterator)
focal_class.identifier: populateFromIterator
focal_class.parameters: (List<T> collection, Iterator<T> iterator)
focal_class.return: List<T>
focal_class.signature: List<T> populateFromIterator(List<T> collection, Iterator<T> iterator)
focal_method.body: public void reset() {
          if (state == State.READ) {
              throw new IllegalStateException("Iterator has not been marked or the mark has been invalidated");
          }
          replayIterator = replayBuffer.iterator();
          state = State.REPLAY;
      }
focal_method.class_method_signature: MarkableIterator.reset()
focal_method.full_signature: public void reset()
focal_method.identifier: reset
focal_method.invocations: iterator
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void reset()