code: @Override
      public List<I18nExtension> addingBundle(Bundle bundle, BundleEvent event) {
          List<I18nExtension> list = ExtenderUtils.analyze("/i18n/", bundle);
          if (list.isEmpty()) {
              return null;
          }
          String current = Long.toString(System.currentTimeMillis());
          LOGGER.info(list.size() + " resource bundle(s) loaded from {} ({})", bundle.getSymbolicName(),
                  bundle.getBundleId());
          for (I18nExtension extension : list) {
              extensions.add(extension);
              etags.put(extension.locale(), current);
          }
          return list;
      }
docs: A bundle is being added to the {@code BundleTracker}.
  <p/>
  <p/>
  This method is called before a bundle which matched the search parameters
  of the {@code BundleTracker} is added to the
  {@code BundleTracker}. This method should return the object to be
  tracked for the specified {@code Bundle}. The returned object is
  stored in the {@code BundleTracker} and is available from the
  {@link org.osgi.util.tracker.BundleTracker#getObject(org.osgi.framework.Bundle) getObject} method.
  
  @param bundle The {@code Bundle} being added to the
  {@code BundleTracker}.
  @param event  The bundle event which caused this customizer method to be
  called or {@code null} if there is no bundle event associated
  with the call to this method.
  @return The object to be tracked for the specified {@code Bundle}
  object or {@code null} if the specified {@code Bundle}
  object should not be tracked.