Написал метод который поворачивает на 90 градусов по часовой кубики
private void turnTiles(int j){
        for(int z = 0; z < j; z++) {
            Tile[][] tiles = new Tile[FIELD_WIDTH][FIELD_WIDTH];
            for (int i = 0; i < FIELD_WIDTH; i++) {
                for (int k = 0; k < FIELD_WIDTH; k++) {
                    tiles[i][k] = gameTiles[k][i];
                }
            }

            for (int i = 0; i < FIELD_WIDTH; i++) {
                Collections.reverse(Arrays.asList(tiles[i]));
            }
            gameTiles = tiles;
        }
    }
Почему если вынести объявление tiles до цикла он некорректно работает??
Tile[][] tiles = new Tile[FIELD_WIDTH][FIELD_WIDTH];
  for(int z = 0; z < j; z++) {