### Question:
WrappedBinaryNode implements BinaryTreeNode<E> { @Override public Iterator<? extends BinaryTreeNode<E>> childIterator() { return new WrappingIterator<>(delegateNode.childIterator()); } WrappedBinaryNode(MutableBinaryTreeNode<E> node); @Override BinaryTreeNode<E> getLeft(); @Override BinaryTreeNode<E> getRight(); @Override Iterator<? extends BinaryTreeNode<E>> childStructuralIterator(); @Override BinaryTreeNode<E> getChild(int nChild); @Override E getElement(); @Override int getNumberOfChildren(); @Override Iterator<? extends BinaryTreeNode<E>> childIterator();  }### Answer:
@Test(expected = UnsupportedOperationException.class) public void removeNotSupported() { final WrappedBinaryNode<String> wrappedParent = new WrappedBinaryNode<>(parent); final Iterator<? extends BinaryTreeNode<String>> wrappedIterator = wrappedParent.childIterator(); wrappedIterator.next(); wrappedIterator.remove(); }