Я чёт не совсем понял что ты хочешь сделать на самом деле. У тебя hasSubsetOf (мне кажется лучше containsElements, т.к. subset подразумевает что в массиве есть конкретный кусок, который ты передаешь, а не просто элементы) больше используется как функция, а не как паттерн