Group Group Group Group Group Group Group Group Group

Data class declaration / instantiation

So i come as a Swift Developer to understand some logic on class declaration / instantiation.

On chapter 20 we have class declaration like this:

data class PodcastResponse(var resultCount: Int, val results:List<ItunesPodcast>){
data class ItunesPodcast(val collectionCensoredName: String,
                         val feedUrl: String,
                         val artworkUrl30: String,
                         val releaseDate: String)
}

My question is very simple and and maybe a little out of place but i looked and didn’t find a particular answer that completely cleaned my doubt.
When you create a class and you want to instantiate that class with a parameter (in this case a list of ItunesPodcast) you need previously declared the class type, again this would be ItunesPodcast, so the class PodcastResponse “knows about it”. In this case, how is possible to instantiate PodcastResponse when the declaration of ItunesPodcast is inside, is like trying to know the child without having the whole info for the father.
I hope i explained my self.