@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((hasHead() && head() != null) ? head().hashCode() : 0);
		result = prime * result + ((hasTail() && tail() != null) ? tail().hashCode() : 0);
		return result;
	}