public boolean removeAtPath(final Path path) {
		final Optional<TreeNode<T>> parent = childAtPath(path)
			.flatMap(Tree::getParent);

		parent.ifPresent(p -> p.remove(path.get(path.length() - 1)));
		return parent.isPresent();
	}
public boolean removeAtPath ( final Path path ) { final Optional < TreeNode < T > > parent = childAtPath ( path ) . flatMap ( Tree :: getParent ) ; parent . ifPresent ( p -> p . remove ( path . get ( path . length ( ) - 1 ) ) ) ; return parent . isPresent ( ) ; }
Removes the child at the given {@code path}. If no child exists at the
given path, nothing is removed.

@since 4.4

@param path the path of the child to replace
@return {@code true} if a child at the given {@code path} existed and
has been removed
@throws NullPointerException if one of the given argument is {@code null}