code: public void register(String scheme, LocationScanner scanner) {
          notNullOrEmpty(scheme, "scheme");
          notNull(scanner, "scanner");
          this.scanners.put(scheme.toLowerCase(), scanner);
      }
docs: Registers a new {@link LocationScanner}. If there is already one registered
  for the provided scheme, the registration will be updated.
  
  @param scheme the scheme for which the scanner can handle
  @param scanner the scanner implementation
  @throws IllegalArgumentException if scheme is null or empty or scanner is null