public static function constructFromArray($props) { $name = $props['name']; $measures = array(); if (isset($props['measures'])) { foreach ($props['measures'] as $measure) { if ($measure instanceof Measure) { $measures[] = $measure; } else { $measures[] = Measure::constructFromArray($measure); } } } return new Part($name, $measures); }