### Question:
PathTrie { public void addPath(final String path) { Objects.requireNonNull(path, "Path cannot be null"); if (path.length() == 0) { throw new IllegalArgumentException("Invalid path: " + path); } final String[] pathComponents = split(path); writeLock.lock(); try { TrieNode parent = rootNode; for (final String part : pathComponents) { TrieNode child = parent.getChild(part); if (child == null) { child = new TrieNode(parent, part); parent.addChild(part, child); } parent = child; } parent.setProperty(true); } finally { writeLock.unlock(); } } PathTrie(); void addPath(final String path); void deletePath(final String path); boolean existsNode(final String path); String findMaxPrefix(final String path); void clear();  }### Answer:
@Test public void addNullPath() { assertThrows(NullPointerException.class, () -> { this.pathTrie.addPath(null); }); }
@Test public void addIllegalPath() { assertThrows(IllegalArgumentException.class, () -> { this.pathTrie.addPath(""); }); }