/** * Build hierarchical Data containers from the associated Join structure. * * @param JoinIface $joinStructure Structure to build the data from. * @return Data */ public function build(JoinIface $joinStructure) { $jointData = []; $joins = $joinStructure->getJoins(); if (isset($joins)) { foreach ($joins as $joinID => $join) { $jointData[$joinID] = $this->build($join); } } return new Data($joinStructure, $jointData); }