code: public void writeSimple(Writer writer, long time) throws IOException {
          // Extract simple rules
          TimeZoneRule[] rules = tz.getSimpleTimeZoneRulesNear(time);
  
          // 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 + 
                  "/Simple@" + time + "]";
          }
          writeZone(writer, rbtz, customProperties);
      }
docs: Writes RFC2445 VTIMEZONE data applicable near the specified date.
  Some common iCalendar implementations can only handle a single time
  zone property or a pair of standard and daylight time properties using
  BYDAY rule with day of week (such as BYDAY=1SUN).  This method produce
  the VTIMEZONE data which can be handled these implementations.  The rules
  produced by this method can be used only for calculating time zone offset
  around the specified date.
  
  @param writer    The <code>Writer</code> used for the output
  @param time      The date
  
  @throws IOException If there were problems reading or writing to the writer.