code: public static UserAgentStringParser getOnlineUpdatingParser(final URL dataUrl, final URL versionUrl) {
  		return OnlineUpdatingParserHolder.getParser(dataUrl, versionUrl, RESOURCE_MODULE);
  	}
docs: Returns an implementation of {@link UserAgentStringParser} which checks at regular intervals for new versions of
  <em>UAS data</em> (also known as database). When newer data available, it automatically loads and updates it.
  
  <p>
  At initialization time the returned parser will be loaded with the <em>UAS data</em> of this module (the shipped
  one within the <em>uadetector-resources</em> JAR) and tries to update it. The initialization is started only when
  this method is called the first time.
  
  <p>
  The update of the data store runs as background task. With this feature we try to reduce the initialization time
  of this <code>UserAgentStringParser</code>, because a network connection is involved and the remote system can be
  not available or slow.
  
  <p>
  The static class definition {@code OnlineUpdatingParserHolder} within this factory class is <em>not</em>
  initialized until the JVM determines that {@code OnlineUpdatingParserHolder} must be executed. The static class
  {@code OnlineUpdatingParserHolder} is only executed when the static method {@code getOnlineUserAgentStringParser}
  is invoked on the class {@code UADetectorServiceFactory}, and the first time this happens the JVM will load and
  initialize the {@code OnlineUpdatingParserHolder} class.
  
  <p>
  If during the operation the Internet connection gets lost, then this instance continues to work properly (and
  under correct log level settings you will get an corresponding log messages).
  
  @param dataUrl
  @param versionUrl
  @return an user agent string parser with updating service