public boolean evaluate(LinkedList<Integer> assignedOne) {
		// initializing variables for the values of the successors
		boolean firstSucVal;
		boolean secondSucVal;
		// a switch for the possible constructors for this Formula
		switch (constructor) {
		// Zeroth case: The Formula represents a constant.
		case 0:
			// simply returning the constant's value
			return value;
		// First case: The Formula represents a variable.
		case 1:
			// If the variable is assigned the logical value one,
			// true is returned.
			// Otherwise the variable is assigned the logical value zero
			// or it isn't assigned anything. Therefore false is returned.
			return (assignedOne.contains(var));
		// Second case: The Formula represents a logical negation.
		case 2:
			// returning the negated value of the successor
			return !firstSuccessor.evaluate(assignedOne);
		// Third case: The Formula represents a logical conjunction.
		case 3:
			// calculating the value of the first successor
			firstSucVal = firstSuccessor.evaluate(assignedOne);
			// calculating the value of the second successor
			secondSucVal = secondSuccessor.evaluate(assignedOne);
			// returning the conjunction of the two successor values
			return firstSucVal && secondSucVal;
		// Fourth case: The Formula represents a logical disjunction.
		case 4:
			// calculating the value of the first successor
			firstSucVal = firstSuccessor.evaluate(assignedOne);
			// calculating the value of the second successor
			secondSucVal = secondSuccessor.evaluate(assignedOne);
			// returning the disjunction of the two successor values
			return firstSucVal || secondSucVal;
		// Default case: None of the given constructors was used.
		default:
			// tentative default value: false
			return false;
		}
	}