public final void dispose(final MapleCharacter c) {
        final boolean lead = energyBarDecrease != null && timerSchedule != null;
        if (energyBarDecrease != null) {
            energyBarDecrease.cancel(false);
            energyBarDecrease = null;
        }
        if (timerSchedule != null) {
            timerSchedule.cancel(false);
            timerSchedule = null;
        }
        if (c.getParty() != null && lead && c.getParty().getMembers().size() > 1) {
            fail(c);
            return;
        }
        c.setPyramidSubway(null);
    }