private static function attemptBuildTraversableLike($data)
    {
        if (is_array($data) || $data instanceof Traversable) {
            $data = static::buildFromTraversableLike($data);
        }

        return $data;
    }