static bool Prefix(HediffGiver __instance, ref bool __result, Pawn pawn)
        {
            // if the instance is of gendered type, check pawn gender before applying.
            Debug("HediffGiver.TryApply(" + __instance.hediff.defName + ", " + pawn.NameStringShort + " [" +
                  pawn.gender + "])");
            HediffGiver_Birthday_Gender gendered = __instance as HediffGiver_Birthday_Gender;

            if (gendered != null && gendered.gender != pawn.gender)
            {
                __result = false; // return false from TryApply
                return(false);    // stop further execution
            }

            Debug("OK", 1);
            return(true); // allow further execution of vanilla HediffGiver.TryApply()
        }
        static bool Prefix(HediffGiver __instance, ref bool __result, Pawn pawn)
        {
            // if the instance is of gendered type, check pawn gender before applying.
            // NOTE: This debug call can give nullref errors in certain cases (what cases?). Disabled for now.
            // Debug( "HediffGiver.TryApply(" + __instance.hediff.defName + ", " + pawn.Name.ToStringShort + " [" +
            //         pawn.gender + "])" );
            HediffGiver_Birthday_Gender gendered = __instance as HediffGiver_Birthday_Gender;

            if (gendered != null && gendered.gender != pawn.gender)
            {
                __result = false; // return false from TryApply
                return(false);    // stop further execution
            }

            Debug("OK", 1);
            return(true); // allow further execution of vanilla HediffGiver.TryApply()
        }