code: 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
              );
          }
      }
docs: Creates a new data store.
  
  @since [*next-version*]
  
  @param stdClass|array|null $data The data for the store, if any.
  
  @throws InvalidArgumentException If the type of data for the store is invalid.
  
  @return ArrayObject The new data store.