Program: 28486
Project: 28486
Buggy source:
@Override protected void configureHttpProtocol(final ServiceLocator habitat,final NetworkListener networkListener,final Http http,final FilterChainBuilder filterChainBuilder,boolean securityEnabled){
  if (httpAdapter == null) {
    registerMonitoringStatsProviders();
    final V3Mapper mapper=new V3Mapper(logger);
    mapper.setPort(port);
    mapper.setId(name);
    final ContainerMapper containerMapper=new ContainerMapper(grizzlyService,this);
    containerMapper.setMapper(mapper);
    containerMapper.setDefaultHost(http.getDefaultVirtualServer());
    containerMapper.configureMapper();
    VirtualServer vs=null;
    String webAppRootPath=null;
    final Collection<VirtualServer> list=grizzlyService.getHabitat().getAllServices(VirtualServer.class);
    final String vsName=http.getDefaultVirtualServer();
    for (    final VirtualServer virtualServer : list) {
      if (virtualServer.getId().equals(vsName)) {
        vs=virtualServer;
        webAppRootPath=vs.getDocroot();
        if (!grizzlyService.hasMapperUpdateListener() && vs.getProperty() != null && !vs.getProperty().isEmpty()) {
          for (          final Property p : vs.getProperty()) {
            final String propertyName=p.getName();
            if (propertyName.startsWith("String_Node_Str")) {
              String value=p.getValue();
              String[] mapping=value.split("String_Node_Str");
              if (mapping.length != 2) {
                logger.log(Level.WARNING,"String_Node_Str",value);
                continue;
              }
              String docBase=mapping[1].substring("String_Node_Str".length());
              String urlPattern=mapping[0].substring("String_Node_Str".length());
              final StaticHttpHandler staticResourceService=new StaticHttpHandler(docBase);
              List<String> al=toArray(vs.getHosts(),"String_Node_Str");
              al.add(http.getDefaultVirtualServer());
              containerMapper.register(urlPattern,al,staticResourceService,null);
            }
          }
        }
        break;
      }
    }
    httpAdapter=new HttpAdapterImpl(vs,containerMapper,webAppRootPath);
    containerMapper.addDocRoot(webAppRootPath);
    AbstractActiveDescriptor<V3Mapper> aad=BuilderHelper.createConstantDescriptor(mapper);
    aad.addContractType(Mapper.class);
    aad.setName(address.toString() + port);
    ServiceLocatorUtilities.addOneDescriptor(grizzlyService.getHabitat(),aad);
    super.configureHttpProtocol(habitat,networkListener,http,filterChainBuilder,securityEnabled);
    final Protocol protocol=http.getParent();
    for (    NetworkListener listener : protocol.findNetworkListeners()) {
      grizzlyService.notifyMapperUpdateListeners(listener,mapper);
    }
  }
 else {
    super.configureHttpProtocol(habitat,networkListener,http,filterChainBuilder,securityEnabled);
  }
}

Fixed version (ground truth):
@Override protected void configureHttpProtocol(final ServiceLocator habitat,final NetworkListener networkListener,final Http http,final FilterChainBuilder filterChainBuilder,boolean securityEnabled){
  if (httpAdapter == null) {
    registerMonitoringStatsProviders();
    final V3Mapper mapper=new V3Mapper(logger);
    mapper.setPort(port);
    mapper.setId(name);
    final ContainerMapper containerMapper=new ContainerMapper(grizzlyService,this);
    containerMapper.setMapper(mapper);
    containerMapper.setDefaultHost(http.getDefaultVirtualServer());
    containerMapper.configureMapper();
    VirtualServer vs=null;
    String webAppRootPath=null;
    final Collection<VirtualServer> list=grizzlyService.getHabitat().getAllServices(VirtualServer.class);
    final String vsName=http.getDefaultVirtualServer();
    for (    final VirtualServer virtualServer : list) {
      if (virtualServer.getId().equals(vsName)) {
        vs=virtualServer;
        webAppRootPath=vs.getDocroot();
        if (!grizzlyService.hasMapperUpdateListener() && vs.getProperty() != null && !vs.getProperty().isEmpty()) {
          for (          final Property p : vs.getProperty()) {
            final String propertyName=p.getName();
            if (propertyName.startsWith("String_Node_Str")) {
              String value=p.getValue();
              String[] mapping=value.split("String_Node_Str");
              if (mapping.length != 2) {
                logger.log(Level.WARNING,"String_Node_Str",value);
                continue;
              }
              String docBase=mapping[1].substring("String_Node_Str".length());
              String urlPattern=mapping[0].substring("String_Node_Str".length());
              containerMapper.addAlternateDocBase(urlPattern,docBase);
            }
          }
        }
        break;
      }
    }
    httpAdapter=new HttpAdapterImpl(vs,containerMapper,webAppRootPath);
    containerMapper.addDocRoot(webAppRootPath);
    AbstractActiveDescriptor<V3Mapper> aad=BuilderHelper.createConstantDescriptor(mapper);
    aad.addContractType(Mapper.class);
    aad.setName(address.toString() + port);
    ServiceLocatorUtilities.addOneDescriptor(grizzlyService.getHabitat(),aad);
    super.configureHttpProtocol(habitat,networkListener,http,filterChainBuilder,securityEnabled);
    final Protocol protocol=http.getParent();
    for (    NetworkListener listener : protocol.findNetworkListeners()) {
      grizzlyService.notifyMapperUpdateListeners(listener,mapper);
    }
  }
 else {
    super.configureHttpProtocol(habitat,networkListener,http,filterChainBuilder,securityEnabled);
  }
}