DefaultLeveledEmbededSet implements LeveledEmbededSet<T> { @Override public LeveledEmbededSet<T> getSubSet() { return subSet; }  @Override LeveledEmbededSet<T> getSuperSet(); @Override LeveledEmbededSet<T> getSubSet(); @Override LeveledEmbededSet<T> getThrough(int level); @Override Set<T> getCurrentSet(); @Override void add(T t); @Override void remove(T t); @Override void resume(T t, int level); DefaultLeveledEmbededSet<T> setSuperSet(DefaultLeveledEmbededSet<T> superSet); DefaultLeveledEmbededSet<T> setSubSet(DefaultLeveledEmbededSet<T> subSet);  }
@Test public void getSubSet() { DefaultLeveledEmbededSet<String> level1 = (DefaultLeveledEmbededSet<String>) root.getThrough(1); Assert.assertNotNull(level1); Assert.assertEquals(level1.getSuperSet(), root); Assert.assertEquals(root.getSubSet(), level1); }