code: public static Date parseDate(String str, Locale locale, String... parsePatterns) throws ParseException {
          return parseDateWithLeniency(str, locale, parsePatterns, true);
      }
docs: <p>Parses a string representing a date by trying a variety of different parsers,
  using the default date format symbols for the given locale.</p>
  <p/>
  <p>The parse will try each parse pattern in turn.
  A parse is only deemed successful if it parses the whole of the input string.
  If no parse patterns match, a ParseException is thrown.</p>
  The parser will be lenient toward the parsed date.
  
  @param str           the date to parse, not null
  @param locale        the locale whose date format symbols should be used. If <code>null</code>,
  the system locale is used (as per {@link #parseDate(String, String...)}).
  @param parsePatterns the date format patterns to use, see SimpleDateFormat, not null
  @return the parsed date
  @throws IllegalArgumentException if the date string or pattern array is null
  @throws ParseException           if none of the date patterns were suitable (or there were none)
  @since 3.2