+/**
+ * Abstract node which does not have value but contains valid {@link DataContainerChild} nodes. Schema of this node is
+ * described by instance of {@link org.opendaylight.yangtools.yang.model.api.DataNodeContainer}.
+ *
+ * <p>
+ * <b>NOTE:</b>
+ * All implementations of this interface are assumed to be {@link OrderingAware.System}, i.e. order-independent.
+ *
+ * <h2>Implementation notes</h2>
+ * This interface should not be implemented directly, but rather implementing one of it's subclasses
+ * <ul>
+ * <li>{@link AugmentationNode}</li>
+ * <li>{@link ChoiceNode}</li>
+ * <li>{@link ContainerNode}</li>
+ * <li>{@link MapEntryNode} and its specializations</li>
+ * <li>{@link UnkeyedListEntryNode}</li>
+ * </ul>
+ *
+ * @param <K> {@link PathArgument} which identifies this instance {@link DataContainerNode}
+ */
+public interface DataContainerNode<K extends PathArgument>
+ extends DistinctNodeContainer<K, PathArgument, DataContainerChild>, OrderingAware.System {