code: @Nonnull
      public static <T extends IdentifiedDataSerializable>
      Searcher<T> searcherFor(@Nonnull final Config staticConfig,
                              @Nonnull final ConfigurationService configurationService,
                              @Nonnull final ConfigPatternMatcher configPatternMatcher, boolean isStaticFirst) {
          return isStaticFirst
                  ? new StaticFirstSearcher<T>(configurationService, staticConfig, configPatternMatcher)
                  : new DynamicFirstSearcher<T>(configurationService, staticConfig, configPatternMatcher);
      }
docs: Factory method for creating {@link Searcher} instances
  
  @param staticConfig hazelcast static config
  @param configurationService configuration service
  @param isStaticFirst <code>true</code> if {@link Searcher} should look into static config first, and
  <code>false</code> otherwise.
  @param <T> type of config class
  @return {@link Searcher} for the given config type and conditions
  @see com.hazelcast.spi.properties.GroupProperty#SEARCH_DYNAMIC_CONFIG_FIRST
  @see ConfigSupplier