function toChildrenFirstArray(aTree) {
		var aChildrenFirst = [];
		function addToLeafsFirst(node) {
			if (node.nodes) {
				node.nodes.forEach(function(child) {
					addToLeafsFirst(child);
				});
			}
			aChildrenFirst.push(node);
		}
		aTree.forEach(function(parent) {
			addToLeafsFirst(parent);
		});
		return aChildrenFirst;
	}
/**
	 * Creates an array of all tree nodes,
	 * where the child nodes precede the parent nodes
	 * @param aTree
	 * @returns {Array}
	 */
Creates an array of all tree nodes,
where the child nodes precede the parent nodes
@param aTree
@returns {Array}
Creates an array of all tree nodes where the child nodes precede the parent nodes @param aTree @returns { Array }
function toChildrenFirstArray(aTree) {
		var aChildrenFirst = [];
		function addToLeafsFirst(node) {
			if (node.nodes) {
				node.nodes.forEach(function(child) {
					addToLeafsFirst(child);
				});
			}
			aChildrenFirst.push(node);
		}
		aTree.forEach(function(parent) {
			addToLeafsFirst(parent);
		});
		return aChildrenFirst;
	}
function toChildrenFirstArray ( aTree ) { var aChildrenFirst = [ ] ; function addToLeafsFirst ( node ) { if ( node . nodes ) { node . nodes . forEach ( function ( child ) { addToLeafsFirst ( child ) ; } ) ; } aChildrenFirst . push ( node ) ; } aTree . forEach ( function ( parent ) { addToLeafsFirst ( parent ) ; } ) ; return aChildrenFirst ; }
Creates an array of all tree nodes,
 where the child nodes precede the parent nodes
 @param aTree
 @returns {Array}
Creates an array of all tree nodes where the child nodes precede the parent nodes @param aTree @returns { Array }