+ @Override
+ NodeIdentifier getIdentifier();
+
+ /**
+ * Return a {@link Map} view of this node. Note that the iteration order of the returned is map is not defined in
+ * this interface.
+ *
+ * @return Map view of this node.
+ */
+ @Beta
+ @NonNull Map<NodeIdentifierWithPredicates, MapEntryNode> asMap();
+
+ @Override
+ default Collection<@NonNull MapEntryNode> body() {
+ return asMap().values();
+ }
+
+ @Override
+ default int size() {
+ return asMap().size();
+ }
+
+ @Override
+ default boolean isEmpty() {
+ return asMap().isEmpty();
+ }