@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; IOContext other = (IOContext) obj; if (context != other.context) return false; if (flushInfo == null) { if (other.flushInfo != null) return false; } else if (!flushInfo.equals(other.flushInfo)) return false; if (mergeInfo == null) { if (other.mergeInfo != null) return false; } else if (!mergeInfo.equals(other.mergeInfo)) return false; if (readOnce != other.readOnce) return false; return true; }