public boolean equals(final Object object) { final HashKey other = (HashKey) object; if (this.isNull) { return (other.isNull); } if (this.index != other.index) { return false; } switch (this.type) { case BOOL: return this.bvalue == other.getBooleanValue(); case LONG: return this.lvalue == other.getLongValue(); case DOUBLE: return this.dvalue == other.getDoubleValue(); case OBJECT: final Object otherValue = other.getObjectValue(); return this.ovalue == null ? otherValue == null : this.ovalue.equals(otherValue); } return false; }