public boolean equals(DoubleLinkedList other) {

		DoubleLinkedList clone1 = this.clone();
		DoubleLinkedList clone2 = other.clone();

		if (clone1.elements() != clone2.elements()) {
			return false;
		} else if (!isComparable(clone1.head.getVal(), clone2.head.getVal())) {

			return false;

		} else {
			while (clone1.head != null) {

				try {
					if (clone1.popFront() != clone2.popFront()) {
						return false;
					}
				} catch (InvalidAccessException e) {

					return false;
				}

			}
			return true;

		}

	}