private suspend fun deriveInterfaceSpecificationVersion(condition: InterfaceSpecificationDerivationCondition, canBeVisible: Boolean, canBeInvisible: Boolean, componentVersion: ComponentVersion, interfaceSpecificationVersion: InterfaceSpecificationVersion, relation: Relation): Set<InterfaceDefinition>

Derives an interfaceSpecificationVersion via a relation to a componentVersion Does not perform a graph update

Return

updated/created InterfaceDefinitions

Parameters

canBeInvisible

if true, interfaceSpecificationVersion can be invisible on componentVersion

componentVersion

the ComponentVersion where to possibly create/update the InterfaceDefinition

interfaceSpecificationVersion
relation

the Relation causing the InterfaceSpecificationVersion derivation