public ArrayList<AdjacencyMatrix> generateMatrix()
	{
		ArrayList<AdjacencyMatrix> matrices = new ArrayList<>();
		unionCommunities();
		
		for(int i = 0; i<communities.size(); i++)
		{
			Community currComm = communities.get(i);
			int comSize = currComm.size();
			boolean[][] data = new boolean[comSize][comSize];
			int[] commIDs = new int[comSize];
			for (int j = 0; j < comSize; j++) 
			{
				commIDs[j] = currComm.get(j);
			}
			//System.out.print("ids here: ");
			for(int j = 0; j<comSize; j++)
			{
				for(int k = 0; k<comSize; k++)
				{
					if(graph.getBoolValue(commIDs[j], commIDs[k]))
					{
						data[j][k] = true;
						data[k][j] = true;
					}
				}
			}
//			for (int j = 0; j < commIDs.length; j++) {
//				System.out.print(commIDs[j] + ", ");
//			}
//			System.out.println("");
			AdjacencyMatrix temp = new AdjacencyMatrix(data, commIDs);
//			System.out.println(temp);
			matrices.add(temp);
		}
		return matrices;
	}