Permutação de matrizes

E aí galera blz? O problema é o seguinte:
Tenho que criar um algoritmo que compare uma matriz de inteiros com outra matriz de inteiros e todas as suas variaçoes(permutaçoes).
Alguem sabe dizer se já existe algum metodo que faça permutação de matrizes? Se não, alguem pode me ajudar a criá-lo.
Vou tentar dar um exemplo pra esclarecer mais:

1ª matriz X _____________________ 2ª matriz

A_B_C_D ______________________ X_Y_Z_W
A 0 1 0 1_______________________X 1 1 0 1
B 1 1 1 0_______________________Y 0 0 1 0
C 0 0 1 1_______________________Z 1 0 1 0
D 1 1 0 1_______________________W 1 1 1 0

Fixo a primeira matriz e comparo com todas a combinaçoes da segunda, que pode ser X Y Z W ou X W Z Y ou W X Z Y e assim por diante até acabar todas as combinaçoes possiveis. O total de matrizes eh n!(n fatorial), nesse caso 4!=24 matrizes diferentes. Deu pra enteder?

A minha dúvida eh se já existe algum metodo do proprio java que faça essa permutação automaticamente. Fikei sabendo meio por alto que existia um metodo chamado permutation.iterator() ou algo assim, n tenho certeza do nome ou se ele realmente existe. Vcs sabem algum método que lhe devolva todas a permutações de uma matriz?