@Override public boolean equals(Object obj) { return (obj instanceof BoundedMemoryIO && io.equals(((BoundedMemoryIO) obj).io) && ((BoundedMemoryIO) obj).base == base && ((BoundedMemoryIO) obj).size == size) || io.equals(obj); }