package org.jetbrains.dokka.model fun SourceSetDependent.filtered(platformDataList: Set) = filter { it.key in platformDataList } fun SourceSetData?.filtered(platformDataList: Set) = takeIf { this in platformDataList } fun DTypeParameter.filter(filteredData: Set) = if (filteredData.containsAll(sourceSets)) this else { val intersection = filteredData.intersect(sourceSets) if (intersection.isEmpty()) null else DTypeParameter( dri, name, documentation.filtered(intersection), expectPresentInSet?.takeIf { intersection.contains(expectPresentInSet) }, bounds, intersection, extra ) }