 #
 # ### Hydrate properties
 #
-# - Detect properties
-# - Save them in corresponding property.
-#
-#
-# Export tasks
-# -------------
-#
-# - Export attributes.
-# - Export collections.
-# - Export resources.
-# - Export resource links.
-# - Export properties.
+# - If node has an attributes then they should be merged to node hash.
+# - For API nodes (e.g. when current target existed) attributes should be
+#     - exportet to current target
+#     - and removed from node hash.
+# - If current target is specified then properties should be exported to it.
 #
 #
 # Utility tasks

#     + Loop over related special objects adding them to corresponding
#       collections.
#     + Clean the applied `specialObjects` namespace.
# + Export collections (right after collections setup)
#     + If `link` is array then remove undefined values from it.
#     + Delete link if it is an epty array or is undefined.
#     + Remove special objects element from node children.
#     + Use collection `rel` attribute as a collection name.
#     + Detect whether current `xpath` points to root node.
#     + If current node is a root one export collections to target node.
#     + Otherwise populate collections to node with collection name as a key.
#     + Clean current namespace of the `_collections` property.
#
# ### Hydrate resource links

# ### Hydrate top level element attributes
#
# - Save attributes in corresponding property if existed.
#
# ### General tasks
#
# - If current node is an owner of collections, resource links or actions
#   (except the case when the node is a resource)then an API node instance
#   should be created and set as a current target.
# - If current node is a root one then current target should be a hydrator
#   instance target.
# - We should replace node value with current target (if exists).
#
# ### Hydrate collections
#
