private function disassembleCollectionObject(array $collection_details, & $result, $parent = []) {
		foreach ($collection_details as $k => $v) {
			if (!empty($v['readonly'])) continue;
			$result[$k] = $v;
			$result[$k]['model'] = $k;
			$result[$k]['__parent'] = $parent;
			if (!empty($v['details'])) {
				$parent[] = $k;
				$this->disassembleCollectionObject($v['details'], $result, $parent);
			}
			unset($result[$k]['details']);
		}
	}
private function disassembleCollectionObject(array $collection_details, & $result, $parent = []) {
		foreach ($collection_details as $k => $v) {
			if (!empty($v['readonly'])) continue;
			$result[$k] = $v;
			$result[$k]['model'] = $k;
			$result[$k]['__parent'] = $parent;
			if (!empty($v['details'])) {
				$parent[] = $k;
				$this->disassembleCollectionObject($v['details'], $result, $parent);
			}
			unset($result[$k]['details']);
		}
	}
private function disassembleCollectionObject ( array $ collection_details , & $ result , $ parent = [ ] ) { foreach ( $ collection_details as $ k => $ v ) { if ( ! empty ( $ v [ 'readonly' ] ) ) continue ; $ result [ $ k ] = $ v ; $ result [ $ k ] [ 'model' ] = $ k ; $ result [ $ k ] [ '__parent' ] = $ parent ; if ( ! empty ( $ v [ 'details' ] ) ) { $ parent [ ] = $ k ; $ this -> disassembleCollectionObject ( $ v [ 'details' ] , $ result , $ parent ) ; } unset ( $ result [ $ k ] [ 'details' ] ) ; } }
Disassemble collection details

@param array $collection_details
@param array $result
Disassemble collection details