DefaultLeveledEmbededSet implements LeveledEmbededSet<T> { @Override public LeveledEmbededSet<T> getSuperSet() { return superSet; }  @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 getSuperSet() { Assert.assertNull(root.getSuperSet()); Assert.assertNull(root.getSubSet()); LeveledEmbededSet<String> level2 = root.getThrough(2); Assert.assertNotNull(root.getSubSet()); Assert.assertNotNull(root.getSubSet().getSuperSet()); Assert.assertNotNull(level2); Assert.assertNotNull(level2.getSuperSet()); }