protected function _createDataStore($data = null)
    {
        // Default
        if (is_null($data)) {
            $data = [];
        }

        try {
            // Constructor already throws in PHP 5+, but doesn't supply the value.
            return new ArrayObject($data);
        } catch (InvalidArgumentException $e) {
            throw $this->_createInvalidArgumentException(
                $this->__('Invalid type of store data'),
                null,
                $e,
                $data
            );
        }
    }