@Test
public void testGetMixinTypes() {

    final ForcedRoot root = new ForcedRoot();
    final List<String> expectedSet = Collections.singletonList("mixinTypeSet");
    final List<String> expectedWith = Collections.singletonList("mixinTypeWith");
    root.setMixinTypes(expectedSet);
    assertEquals("getMixinTypes()", expectedSet, root.getMixinTypes());
    assertEquals("getMixinTypes()", expectedWith,
            root.withMixinTypes("mixinTypeWith").getMixinTypes());
    root.setMixinTypes(null);
    assertEquals("getMixinTypes()", Collections.emptyList(),
            root.getMixinTypes());
    assertEquals("getMixinTypes()", Collections.emptyList(),
            root.withMixinTypes().getMixinTypes());
}