ResourceNode implements PolicyTreeNode { public static ResourceNode of(final PolicyTreeNode parent, final String name) { return of(parent, name, EffectedPermissions.newInstance(Permissions.none(), Permissions.none())); } private  ResourceNode(final PolicyTreeNode parent, final String name, final EffectedPermissions permissions); static ResourceNode of(final PolicyTreeNode parent, final String name); static ResourceNode of(final PolicyTreeNode parent, final String name,
            final EffectedPermissions permissions); @Override String getName(); @Nonnull @Override Type getType(); @Override Optional<PolicyTreeNode> getChild(final String resourceName); @Override Map<String, PolicyTreeNode> getChildren(); @Override void addChild(final PolicyTreeNode childNode); @Override void accept(@Nonnull final Visitor visitor); Optional<PolicyTreeNode> getParent(); EffectedPermissions getPermissions(); void setPermissions(final EffectedPermissions permissions); boolean isGranted(@Nonnull final String possiblyGrantedPermission,
            @Nonnull final String ... furtherPossiblyGrantedPermissions); boolean areAllGranted(@Nonnull final Collection<String> possiblyGrantedPermissions); boolean areAllRevoked(@Nonnull final Collection<String> possiblyRevokedPermissions); @Nonnull JsonPointer getAbsolutePointer(); int getLevel(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullParent() { ResourceNode.of(null, KNOWN_NAME, KNOWN_PERMISSIONS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullName() { ResourceNode.of(knownParent, null, KNOWN_PERMISSIONS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullPermissions() { ResourceNode.of(knownParent, KNOWN_NAME, null); }