code: private LocalDateTime convertIfModifiedSinceToDate(String headerValue) {
  
  		LocalDateTime time = null;
  		try {
  			time = LocalDateTime.parse(headerValue, DateTimeFormatter.RFC_1123_DATE_TIME);
  		} catch (DateTimeParseException e) {
  			logger.trace("could not parse date with RFC-1123. Will try RFC-1036 format...");
  		}
  
  		if (time == null) {
  			try {
  				time = LocalDateTime.parse(headerValue, DateTimeFormatter.ofPattern(PATTERN_RFC_1036));
  			} catch (DateTimeParseException e) {
  				logger.trace("could not parse date with RFC-1036. Will try ASCITIME format...");
  			}
  		}
  
  		if (time == null) {
  			try {
  				time = LocalDateTime.parse(headerValue, DateTimeFormatter.ofPattern(PATTERN_ASCITIME));
  			} catch (DateTimeParseException e) {
  				logger.trace("could not parse date with ASCITIME.");
  			}
  		}
  
  		if (time == null) {
  			logger.error("Could not parse given if-modified-since header with value '{}'", headerValue);
  		}
  		return time;
  	}
docs: <p>
  RFC 2616 allows three different date-formats:
  <ul>
  <li>RFC 1123</li>
  <li>RFC 1036</li>
  <li>ASCI-Time</li>
  </ul>
  </p>
  
  @param headerValue value transmitted from client
  @return the parsed DateTime
  @see <a href=
  "http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3">RFC
  2616</a>