protected function loadDefinitions(array $parents)
{
$group = $this->buildGroup($parents);
if (isset($this->definitions[$group])) {
return $this->definitions[$group];
}
// If there are predefined subdivisions at this level, try to load them.
$this->definitions[$group] = [];
if ($this->hasData($parents)) {
$filename = $this->definitionPath . $group . '.json';
if ($rawDefinition = @file_get_contents($filename)) {
$this->definitions[$group] = json_decode($rawDefinition, true);
$this->definitions[$group] = $this->processDefinitions($this->definitions[$group]);
}
}
return $this->definitions[$group];
}