Combinando NSArrays através da interseção e união

Tenho dois NSArrays A e B que compartilham alguns elementos comuns, por exemplo,

A: 1,2,3,4,5 
B: 4,5,6,7

Gostaria de criar um novo NSArray que consiste no conteúdo comum entre os dois NSArrays unidos ao conteúdo do segundo NSArray, mantendo a ordem dos elementos e removendo duplicatas. Ou seja, eu gostaria (A ∩ B) ∪ B.

A operação nos NSArrays anteriores renderia:

A ∩ B: 4,5
(A ∩ B) ∪ B: 4,5,6,7

Como faço isso no Objective-C?

questionAnswers(5)

yourAnswerToTheQuestion