public static GitObject PeeledTarget(this Tag tag) { var target = tag.Target; while (target is TagAnnotation) { target = ((TagAnnotation)(target)).Target; } return target; }