protected function createStructureVersionList(array $data)
 {
     $structure_version_list = new StructureVersionList($data['identifier']);
     foreach ($data['versions'] as $version_data) {
         $structure_version_list->push(new StructureVersion($version_data));
     }
     return $structure_version_list;
 }
 protected function createStructureVersionList($identifier, array $versions)
 {
     $structure_version_list = new StructureVersionList($identifier);
     // sort version list
     usort($versions, function ($a, $b) {
         return $a['version'] - $b['version'];
     });
     foreach ($versions as $version) {
         $structure_version_list->push(new StructureVersion($version));
     }
     return $structure_version_list;
 }