public ArrayList<BitVector> doAbsorption(ArrayList<BitVector> answers) {
		ArrayList<BitVector> absorved = new ArrayList<BitVector>();
		for (int i = 0; i < answers.size() - 1; i++) {
			for (int j = i + 1; j < answers.size(); j++) {
				if (answers.get(i).union(answers.get(j)).equals(answers.get(i))) {
					if (!absorved.contains(answers.get(i))) {
						absorved.add(answers.get(i));
					}
				}
				else if (answers.get(i).union(answers.get(j)).equals(answers.get(j))) {
					if (!absorved.contains(answers.get(j))) {
						absorved.add(answers.get(j));
					}
				}
			}
		}
		for (int i = 0; i < absorved.size(); i++) 
			answers.remove(absorved.get(i));
		return answers;
	}