/** * @param array to wrap * @throws InvalidArgumentException */ public function __construct($arr = NULL, $flags = self::READONLY) { parent::__construct($arr); if ($arr !== NULL) { if ($flags & self::EXPAND) { $this->expand(); } if ($flags & self::READONLY) { $this->freeze(); } } }