public void printComponents(@Nonnull PrintStream out, @Nonnull ComponentMatcher matcher, @Nullable Container root) {
print(hierarchy(root), checkNotNull(matcher), checkNotNull(out));
}
private @Nonnull ComponentHierarchy hierarchy(@Nullable Container root) {
return root != null ? new SingleComponentHierarchy(root, hierarchy) : hierarchy;
}