public void fillSocialMatrix() {
		for (int i = 0; i < socialMatrix.length; i++)
			for (int j = 0; j < socialMatrix.length; j++)
				socialMatrix[i][j] = new SocialMatrixCell();

		Set<String> keyNodes = socialGraphNodes.keySet();
		for (Iterator<String> i = keyNodes.iterator(); i.hasNext();) {
			String keyNode = (String) i.next();
			Node node = (Node) socialGraphNodes.get(keyNode);
			double outgoingEdges = 0;
			if (node.getRepliers().size() != 0) {
				Set<String> keys = node.getRepliers().keySet();
				for (Iterator<String> iter = keys.iterator(); iter.hasNext();) {
					String key = (String) iter.next();
					SocialMatrixCell value = (SocialMatrixCell) node
							.getRepliers().get(key);

					Node findNode = socialGraphNodes.get(key.toLowerCase());
					if (findNode == null)
						System.out.println("fill Social Matrix: Errrrrrror: "
								+ key);
					else {
						int index = findNode.getIndex();
						socialMatrix[node.getIndex()][index].addComments(value
								.getComments());
						outgoingEdges += value.calculateValue();
					}
				}
			}
			if (node.getThreads().size() != 0) {
				Set<String> keys = node.getThreads().keySet();
				for (Iterator<String> iter = keys.iterator(); iter.hasNext();) {
					String key = (String) iter.next();
					SocialMatrixCell value = (SocialMatrixCell) node
							.getThreads().get(key);

					Node findNode = socialGraphNodes.get(key);
					if (findNode == null)
						System.out
								.println("fill Social Matrix, threads: Errrrrrror: "
										+ key);
					else {
						int index = socialGraphNodes.get(key).getIndex();
						socialMatrix[node.getIndex()][index].addComments(value
								.getComments());
						outgoingEdges += value.calculateValue();
					}
				}
			}
			node.setOutgoingEdges(outgoingEdges);
		}
	}