@@ -0,0 +1,542 @@
+package deterno.fight.tgm.damage.tracker.base;%0A%0Aimport deterno.fight.tgm.damage.tracker.DamageInfo;%0Aimport org.bukkit.entity.LivingEntity;%0A%0Aimport javax.annotation.Nullable;%0A%0A%0Apublic abstract class AbstractDamageInfo implements DamageInfo %7B%0A    protected AbstractDamageInfo(@Nullable LivingEntity resolvedDamager) %7B%0A        this.resolvedDamager = resolvedDamager;%0A    %7D%0A%0A    public @Nullable%0A    LivingEntity getResolvedDamager() %7B%0A        return this.resolvedDamager;%0A    %7D%0A%0A    protected final @Nullable%0A    LivingEntity resolvedDamager;%0A%7D%0A

Create AbstractDamageInfo.java