### Question:
TreeBuilderFactoryImpl implements TreeBuilderFactory { @Override public <E, N extends OpenNode<E, N>> SortingTreeBuilder<E, N> sortingTreeBuilder(Comparator<E> comparator) { return new SortingTreeBuilderImpl<>(emptySortedTreeConstructorProvider, comparator); } TreeBuilderFactoryImpl(KeyMappingProvider keyMappingProvider, TreeConstructorProvider treeConstructorProvider, EmptyTreeConstructorProvider emptyTreeConstructorProvider, TreeConverterProvider treeConverterProvider, EmptySortedTreeConstructorProviderImpl emptySortedTreeConstructorProvider); @SuppressWarnings("unchecked") @Override TopDownTreeRootBuilder<E, N> topDownBuilder(); @SuppressWarnings("unchecked") @Override BottomUpTreeBuilder<E, N> bottomUpBuilder(); @Override SortingTreeBuilder<E, N> sortingTreeBuilder(Comparator<E> comparator); @Override SortingTreeBuilder<E, N> sortingTreeBuilder(); @Override SortedTreeBuilder<E, N> sortedTreeBuilder(Comparator<E> comparator, SortingAlgorithm algorithm); @Override SortedTreeBuilder<E, N> sortedTreeBuilder(SortingAlgorithm algorithm); @SuppressWarnings("unchecked") @Override T copy(T tree); @Override T2 copy(Tree<E, N> tree, Class<T2> klass);  }### Answer:
@Test(expected = OperationNotSupportedForType.class) public void testSortingTreeBuilder() { final SortingTreeBuilder<String, MutableSettableStructuredNode<String>> builder = trees.treeBuilders().sortingTreeBuilder(); builder.build(new TypeKey<SortingTree<String, MutableSettableStructuredNode<String>>>() {}); }
@Test(expected = OperationNotSupportedForType.class) public void testSortingTreeBuilderWithComparator() { final SortingTreeBuilder<String, MutableSettableStructuredNode<String>> builder = trees.treeBuilders() .sortingTreeBuilder(ComparableComparator.get()); builder.build(new TypeKey<SortingTree<String, MutableSettableStructuredNode<String>>>() {}); }