private void deleteUnneededNodes() {
		boolean[][] temp = new boolean[kmap.getRow()][kmap.getColumn()];
		boolean del = false;
		for (int i = 0; i < arrayList.size(); i++) {
			for (int j = 0; j < kmap.getRow(); j++) {
				for (int k = 0; k < kmap.getColumn(); k++) {
					temp[j][k] = false;
				}
			}
			for (int m = 0; m < arrayList.size(); m++) {
				if (arrayList.get(i).nodes.compareTo(arrayList.get(m).nodes) != 0) {
					for (int j = 0; j < kmap.getRow(); j++) {
						for (int k = 0; k < kmap.getColumn(); k++) {
							if (IsAtCell(j, k, arrayList.get(m).nodes))
								temp[j][k] = true;
						}
					}
				}

				del = true;
				for (int j = 0; j < kmap.getRow(); j++) {
					for (int k = 0; k < kmap.getColumn(); k++) {
						if (temp[j][k] != kmap.getCellValue(j, k)) {
							del = false;
							break;
						}
					}
					if (!del)
						break;
				}
			}
			if (del) {
				arrayList.remove(i);
				i--;
			}

		}
	}