reinterpret cast of itsCounter breaks vtable of itsCouner.ptr, so we fix by properly casting itsCounter.ptr after