### Question:
TreeTransformator extends AbstractTreeTransformingProcessor { public static IFilter strip(ITreeFilter filter) { return new Filter(FilterType.STRIP,filter); } TreeTransformator(ISerializedObjectTreeProcessor destination, IFilter... filter); static IFilter strip(ITreeFilter filter); static IFilter compact(ITreeFilter filter);  }### Answer:
@Test public void removeAllCNodes() throws IOException { ISerializedObjectTree tree = Trees.fromResource(getClass(), "treeOf3"); ISerializedObjectTree filtered = TreeTransformations.strip(tree, new NotDepth(3)); ISerializedObjectTree expected = Trees.fromResource(getClass(), "treeOf3-noDepth3"); Trees.assertEqualsTree(expected, filtered); }
@Test public void canNotRemoveANodes() throws IOException { assertThrows(IllegalArgumentException.class, () -> { ISerializedObjectTree tree = Trees.fromResource(getClass(), "treeOf3"); ISerializedObjectTree filtered = TreeTransformations.strip(tree, new NotDepth(0)); }); }
@Test public void removeAllBNodes() throws IOException { ISerializedObjectTree tree = Trees.fromResource(getClass(), "treeOf3"); ISerializedObjectTree filtered = TreeTransformations.strip(tree, new NotDepth(2)); ISerializedObjectTree expected = Trees.fromResource(getClass(), "treeOf3-noDepth2"); Trees.assertEqualsTree(expected, filtered); }