code: function (weekYear, weekOfYear, dayOfWeek) {
              if (dayOfWeek < GregorianCalendar.SUNDAY || dayOfWeek > GregorianCalendar.SATURDAY) {
                  throw new Error('invalid dayOfWeek: ' + dayOfWeek);
              }
              var fields = this.fields;    // To avoid changing the time of day fields by date
                                           // calculations, use a clone with the GMT time zone.
              // To avoid changing the time of day fields by date
              // calculations, use a clone with the GMT time zone.
              var gc = this.clone();
              gc.clear();
              gc.setTimezoneOffset(0);
              gc.set(YEAR, weekYear);
              gc.set(WEEK_OF_YEAR, 1);
              gc.set(DAY_OF_WEEK, this.getFirstDayOfWeek());
              var days = dayOfWeek - this.getFirstDayOfWeek();
              if (days < 0) {
                  days += 7;
              }
              days += 7 * (weekOfYear - 1);
              if (days !== 0) {
                  gc.add(DAY_OF_YEAR, days);
              } else {
                  gc.complete();
              }
              fields[YEAR] = gc.get(YEAR);
              fields[MONTH] = gc.get(MONTH);
              fields[DAY_OF_MONTH] = gc.get(DAY_OF_MONTH);
              this.complete();
          }
docs: Sets this GregorianCalendar to the date given by the date specifiers - weekYear,
  weekOfYear, and dayOfWeek. weekOfYear follows the WEEK_OF_YEAR numbering.
  The dayOfWeek value must be one of the DAY_OF_WEEK values: SUNDAY to SATURDAY.
  
  @param weekYear    the week year
  @param weekOfYear  the week number based on weekYear
  @param dayOfWeek   the day of week value