static function shard($collector = null) {
      if (func_num_args()) {
        if ($collector) {
          static::$_shards[static::class] = $collector;
        } else {
          unset(static::$_shards[static::class]);
        }
        return;
      }
      if (!isset(static::$_shards[static::class])) {
        static::$_shards[static::class] = new Map();
      }
      return static::$_shards[static::class];
    }
static function shard($collector = null) {
      if (func_num_args()) {
        if ($collector) {
          static::$_shards[static::class] = $collector;
        } else {
          unset(static::$_shards[static::class]);
        }
        return;
      }
      if (!isset(static::$_shards[static::class])) {
        static::$_shards[static::class] = new Map();
      }
      return static::$_shards[static::class];
    }
static function shard ( $ collector = null ) { if ( func_num_args ( ) ) { if ( $ collector ) { static :: $ _shards [ static :: class ] = $ collector ; } else { unset ( static :: $ _shards [ static :: class ] ) ; } return ; } if ( ! isset ( static :: $ _shards [ static :: class ] ) ) { static :: $ _shards [ static :: class ] = new Map ( ) ; } return static :: $ _shards [ static :: class ] ; }
Get the shard attached to the model.

@param  Map $collector The collector instance to set or none to get it.
@return Map            The collector instance on get and `this` on set.
Get the shard attached to the model .