@Test
public void testSelectNthTwo() throws InvalidParameterException {
Paragraph paragraph1 = new Paragraph(jCas);
paragraph1.setBegin(0);
paragraph1.setDepth(1);
paragraph1.setEnd(20);
paragraph1.addToIndexes();
Paragraph paragraph2 = new Paragraph(jCas);
paragraph2.setBegin(20);
paragraph2.setDepth(1);
paragraph2.setEnd(TEXT.length());
paragraph2.addToIndexes();
RecordStructureManager manager =
new RecordStructureManager(StructureHierarchy.build(jCas, structuralClasses));
Optional<Structure> select1 = manager.select("Paragraph:nth-of-type(1)");
assertTrue(select1.isPresent());
assertEquals(paragraph1, select1.get());
assertNotEquals(paragraph2, select1.get());
Optional<Structure> select2 = manager.select("Paragraph:nth-of-type(2)");
assertTrue(select2.isPresent());
assertEquals(paragraph2, select2.get());
assertNotEquals(paragraph1, select2.get());
Optional<Structure> select3 = manager.select("Paragraph:nth-of-type(3)");
assertFalse(select3.isPresent());
}