docs: public static Schedule createScheduleFromConventions(
  			LocalDate referenceDate,
  			String futureCode,
  			String startOffsetString,
  			String maturityString,
  			String frequency,
  			String daycountConvention,
  			String shortPeriodConvention,
  			String dateRollConvention,
  			BusinessdayCalendar businessdayCalendar,
  			int	fixingOffsetDays,
  			int	paymentOffsetDays
  			)
  	{
  		int futureExpiryYearsShort = Integer.parseInt(futureCode.substring(futureCode.length()-2));
  		String futureExpiryMonthsString = futureCode.substring(0,futureCode.length()-2);
  		DateTimeFormatter formatter = new DateTimeFormatterBuilder().parseCaseInsensitive().appendPattern("dd/MMM/yy").toFormatter(Locale.ENGLISH);
  		String futureExpiryString = "01/" + futureExpiryMonthsString + "/" + futureExpiryYearsShort;
  		LocalDate futureExpiryDate;
  		try{
  			futureExpiryDate = LocalDate.parse(futureExpiryString, formatter);
  		} catch(DateTimeParseException e) {
  			throw new IllegalArgumentException("Error when parsing futureCode " + futureCode + ". Must be of format MMMYY with english month format (e.g. DEC17)");
  		}
  		// get third wednesday in month, adjust with following if no busday
  		while(!futureExpiryDate.getDayOfWeek().equals(DayOfWeek.WEDNESDAY)) {
  			futureExpiryDate = futureExpiryDate.plusDays(1);
  		}
  		futureExpiryDate = futureExpiryDate.plusWeeks(2);
  		futureExpiryDate = businessdayCalendar.getAdjustedDate(futureExpiryDate, startOffsetString, DateRollConvention.FOLLOWING); // adjust to the next good busday
  
  		LocalDate maturityDate = businessdayCalendar.getDateFromDateAndOffsetCode(futureExpiryDate, maturityString);
  
  		return createScheduleFromConventions(
  				referenceDate,
  				futureExpiryDate,
  				maturityDate,
  				Frequency.valueOf(frequency.replace("/", "_").toUpperCase()),
  				DaycountConvention.getEnum(daycountConvention),
  				ShortPeriodConvention.valueOf(shortPeriodConvention.replace("/", "_").toUpperCase()),
  				DateRollConvention.getEnum(dateRollConvention),
  				businessdayCalendar,
  				fixingOffsetDays,
  				paymentOffsetDays
  				);
  	}