+ * Given a child property name, retrieve the index.
+ * @param[in] name The name of the child property.
+ * @return The index associated with that name.
+ */
+ Property::Index GetChildPropertyIndex( const std::string& name ) const;
+
+ /**
+ * Retrieve the name of the child property at the given index.
+ * @param[in] index The property index.
+ * @return The name of the child property.
+ */
+ const std::string& GetChildPropertyName( Property::Index index ) const;
+
+ /**
+ * Retrieve the Property::Type of the child property at the given index.
+ * @param[in] index The property index.
+ * @return The Property::Type at that index.
+ */
+ Property::Type GetChildPropertyType( Property::Index index ) const;
+
+ /**
+ * Retrive the child indices into the given container.
+ * @param[in,out] indices The container to put the child indices into
+ */
+ void GetChildPropertyIndices( Property::IndexContainer& indices ) const;
+
+ /**
+ * Retrieve the default value of the property at the given index.
+ * @param[in] index The property index.
+ * @return The default property value at that index.
+ */
+ Property::Value GetPropertyDefaultValue( Property::Index index ) const;
+
+ /**