code: public void write(Writer writer, long start) throws IOException {
          // Extract rules applicable to dates after the start time
          TimeZoneRule[] rules = tz.getTimeZoneRules(start);
  
          // Create a RuleBasedTimeZone with the subset rule
          RuleBasedTimeZone rbtz = new RuleBasedTimeZone(tz.getID(), (InitialTimeZoneRule)rules[0]);
          for (int i = 1; i < rules.length; i++) {
              rbtz.addTransitionRule(rules[i]);
          }
          String[] customProperties = null;
          if (olsonzid != null && ICU_TZVERSION != null) {
              customProperties = new String[1];
              customProperties[0] = ICU_TZINFO_PROP + COLON + olsonzid + "[" + ICU_TZVERSION + 
                  "/Partial@" + start + "]";
          }
          writeZone(writer, rbtz, customProperties);
      }
docs: Writes RFC2445 VTIMEZONE data applicable for dates after
  the specified start time.
  
  @param writer    The <code>Writer</code> used for the output
  @param start     The start time
  
  @throws IOException If there were problems reading and writing to the writer.