type changing
? extends SemanticUnit → SemanticUnit
SemanticUnit → CommunicationUnit