@Override
 public int hashCode() {
   final int prime = 31;
   int result = 1;
   result = prime * result + ((element == null) ? 0 : element.hashCode());
   result = prime * result + ((value == null) ? 0 : value.hashCode());
   return result;
 }
 /*
  * (non-Javadoc)
  *
  * @see java.lang.Object#hashCode()
  */
 @Override
 public int hashCode() {
   if (delegateElement == null) return -1;
   return delegateElement.hashCode();
 }