After @Susucre implemented "handshake" workaround in #10802 with `copyAbility` method -- there are still many places with same logic to "fix":  
After @Susucre implemented "handshake" workaround in #10802 with
copyAbilitymethod -- there are still many places with same logic to "fix":