@Test
public void createTopLevelFactModelTreeRecursiveTypes() throws WrongDMNTypeException {

    SortedMap<String, FactModelTree> hiddenFacts = new TreeMap<>();
    FactModelTree person = dmnTypeServiceImpl.createTopLevelFactModelTree("person", getRecursivePersonComposite(false), hiddenFacts, FactModelTree.Type.DECISION);
    assertNotNull(person);
    assertTrue(person.getExpandableProperties().containsKey("parent"));
    assertEquals("tPerson", person.getExpandableProperties().get("parent"));
    assertTrue(hiddenFacts.containsKey("tPerson"));
    hiddenFacts = new TreeMap<>();
    FactModelTree personCollection = dmnTypeServiceImpl.createTopLevelFactModelTree("person", getRecursivePersonComposite(true), hiddenFacts, FactModelTree.Type.DECISION);
    assertNotNull(personCollection);
    assertTrue(personCollection.getGenericTypesMap().containsKey(VALUE));
    assertEquals("tPerson", personCollection.getGenericTypeInfo(VALUE).get(0));
    assertTrue(hiddenFacts.containsKey("tPerson"));
    assertTrue(hiddenFacts.containsKey("tPersonList"));
}