CollectionTool extends org.apache.velocity.tools.generic.CollectionTool { public <E> Set<E> getSet() { return new HashSet<>(); }  List<E> getArrayList(); List<E> getLinkedList(); Map<K, V> getMap(); SortedMap<K, V> getSortedMap(); Map<K, V> getOrderedMap(); Set<E> getSet(); SortedSet<E> getSortedSet(); Set<E> getOrderedSet(); Queue<E> getQueue(); BlockingQueue<E> getBlockingQueue(); Queue<E> getPriorityQueue(); List<E> unmodifiable(List<E> input); Map<K, V> unmodifiable(Map<K, V> input); Set<E> unmodifiable(Set<E> input); Collection<E> unmodifiable(Collection<E> input); Collection<E> union(Collection<E> a, Collection<E> b); Collection<E> intersection(Collection<E> a, Collection<E> b); Collection<E> disjunction(Collection<E> a, Collection<E> b); boolean reverseModifiable(List<E> input); boolean sortModifiable(List<E> input);  }
@Test void getSet() { Set<String> result = this.tool.getSet(); assertNotNull(result, "Returned null instead of a set"); assertTrue(result.isEmpty(), "Returned set wasn't initially empty"); assertFalse(result.contains(null), "null value already present in the empty set"); assertTrue(result.add(null), "null value already present in the empty set"); assertTrue(result.contains(null), "null value wasn't inserted in the set"); assertFalse(result.add(null), "null value was re-inserted in the set"); assertTrue(result.remove(null), "failed to remove null value from the set"); assertFalse(result.contains(null), "null value present in the set after being removed"); }