code: @Override
      public TimeZoneTransition getPreviousTransition(long base, boolean inclusive) {
          if (!useDaylight) {
              return null;
          }
  
          initTransitionRules();
          long firstTransitionTime = firstTransition.getTime();
          if (base < firstTransitionTime || (!inclusive && base == firstTransitionTime)) {
              return null;
          }
          Date stdDate = stdRule.getPreviousStart(base, dstRule.getRawOffset(),
                                                  dstRule.getDSTSavings(), inclusive);
          Date dstDate = dstRule.getPreviousStart(base, stdRule.getRawOffset(),
                                                  stdRule.getDSTSavings(), inclusive);
          if (stdDate != null && (dstDate == null || stdDate.after(dstDate))) {
              return new TimeZoneTransition(stdDate.getTime(), dstRule, stdRule);
          }
          if (dstDate != null && (stdDate == null || dstDate.after(stdDate))) {
              return new TimeZoneTransition(dstDate.getTime(), stdRule, dstRule);
          }
          return null;
      }
docs: {@inheritDoc}