SecureNodeBuilder implements NodeBuilder { @Override public boolean hasChildNode(@NotNull String name) { if (builder.hasChildNode(name)) { return getChildNode(name).exists(); } else { return false; } } SecureNodeBuilder(
            @NotNull NodeBuilder builder,
            @NotNull LazyValue<PermissionProvider> permissionProvider); private  SecureNodeBuilder(SecureNodeBuilder parent, String name); @Override @NotNull NodeState getBaseState(); @Override @NotNull NodeState getNodeState(); @Override boolean exists(); @Override boolean isNew(); @Override boolean isNew(String name); @Override boolean isModified(); @Override boolean isReplaced(); @Override boolean isReplaced(String name); void baseChanged(); @Override boolean remove(); @Override boolean moveTo(@NotNull NodeBuilder newParent, @NotNull String newName); @Nullable @Override PropertyState getProperty(String name); @Override boolean hasProperty(String name); @Override synchronized long getPropertyCount(); @NotNull @Override Iterable<? extends PropertyState> getProperties(); @Override boolean getBoolean(@NotNull String name); @Nullable @Override String getString(@NotNull String name); @Nullable @Override String getName(@NotNull String name); @NotNull @Override Iterable<String> getNames(@NotNull String name); @NotNull @Override NodeBuilder setProperty(@NotNull PropertyState property); @NotNull @Override NodeBuilder setProperty(String name, @NotNull T value); @NotNull @Override NodeBuilder setProperty(
            String name, @NotNull T value, Type<T> type); @NotNull @Override NodeBuilder removeProperty(String name); @NotNull @Override Iterable<String> getChildNodeNames(); @Override boolean hasChildNode(@NotNull String name); @NotNull @Override NodeBuilder child(@NotNull String name); @NotNull @Override NodeBuilder setChildNode(@NotNull String name); @NotNull @Override NodeBuilder setChildNode(@NotNull String name, @NotNull NodeState nodeState); @NotNull @Override NodeBuilder getChildNode(@NotNull String name); @Override synchronized long getChildNodeCount(long max); @Override Blob createBlob(InputStream stream);  }
@Test public void testHasChildNode() { assertTrue(secureNodeBuilder.hasChildNode(NAME_ACCESSIBLE)); }
@Test public void testHasChildNodeNonAccessible() { assertFalse(secureNodeBuilder.hasChildNode(NAME_NON_ACCESSIBLE)); }
@Test public void testHasChildNodeNonExisting() { assertFalse(secureNodeBuilder.hasChildNode(NAME_NON_EXISTING)); }