Program: 96496
Project: 96496
Buggy source:
@Override protected Bindings<HttpBinding> initBindings(){
  return new HttpBindings(){
    @Override protected HttpBinding bindAdditionalAddressesIfNecessary(    HttpBinding newHttpBinding){
      HttpBinding httpBinding=addBinding0(newHttpBinding);
      if (httpBinding == null) {
        ResourceAddress resourcesAddress=getResourcesAddress(newHttpBinding);
        HttpAcceptor.this.bind(resourcesAddress,httpResourcesHandler,null);
      }
      return httpBinding;
    }
    protected boolean unbindAdditionalAddressesIfNecessary(    ResourceAddress address,    HttpBinding newHttpBinding){
      ResourceAddress resourcesAddress=getResourcesAddress(newHttpBinding);
      if (newHttpBinding.size() == 1 && newHttpBinding.get(resourcesAddress.getResource().getPath()) != null) {
        HttpAcceptor.this.unbind(resourcesAddress);
        return true;
      }
      return false;
    }
    private ResourceAddress getResourcesAddress(    HttpBinding newHttpBinding){
      ResourceAddress bindAddress=newHttpBinding.bindAddress();
      String location=bindAddress.getExternalURI();
      String resourcesURI=URIUtils.resolve(location,"String_Node_Str");
      ResourceOptions options=ResourceOptions.FACTORY.newResourceOptions();
      options.setOption(TRANSPORT_URI,bindAddress.getOption(TRANSPORT_URI));
      options.setOption(TRANSPORT,bindAddress.getOption(TRANSPORT));
      options.setOption(TEMP_DIRECTORY,bindAddress.getOption(TEMP_DIRECTORY));
      options.setOption(NEXT_PROTOCOL,bindAddress.getOption(NEXT_PROTOCOL));
      options.setOption(ORIGIN_SECURITY,bindAddress.getOption(ORIGIN_SECURITY));
      options.setOption(GATEWAY_ORIGIN_SECURITY,bindAddress.getOption(GATEWAY_ORIGIN_SECURITY));
      options.setOption(BALANCE_ORIGINS,bindAddress.getOption(BALANCE_ORIGINS));
      return addressFactory.newResourceAddress(resourcesURI,options);
    }
  }
;
}

Fixed version (ground truth):
@Override protected Bindings<HttpBinding> initBindings(){
  return new HttpBindings(){
    @Override protected HttpBinding bindAdditionalAddressesIfNecessary(    HttpBinding newHttpBinding){
      HttpBinding httpBinding=addBinding0(newHttpBinding);
      if (httpBinding == null) {
        ResourceAddress resourcesAddress=getResourcesAddress(newHttpBinding);
        HttpAcceptor.this.bind(resourcesAddress,httpResourcesHandler,null);
      }
      return httpBinding;
    }
    @Override protected boolean unbindAdditionalAddressesIfNecessary(    ResourceAddress address,    HttpBinding newHttpBinding){
      ResourceAddress resourcesAddress=getResourcesAddress(newHttpBinding);
      if (newHttpBinding.size() == 1 && newHttpBinding.get(resourcesAddress.getResource().getPath()) != null) {
        HttpAcceptor.this.unbind(resourcesAddress);
        return true;
      }
      return false;
    }
    private ResourceAddress getResourcesAddress(    HttpBinding newHttpBinding){
      ResourceAddress bindAddress=newHttpBinding.bindAddress();
      String location=bindAddress.getExternalURI();
      String resourcesURI=URIUtils.resolve(location,"String_Node_Str");
      ResourceOptions options=ResourceOptions.FACTORY.newResourceOptions();
      options.setOption(TRANSPORT_URI,bindAddress.getOption(TRANSPORT_URI));
      options.setOption(TRANSPORT,bindAddress.getOption(TRANSPORT));
      options.setOption(TEMP_DIRECTORY,bindAddress.getOption(TEMP_DIRECTORY));
      options.setOption(NEXT_PROTOCOL,bindAddress.getOption(NEXT_PROTOCOL));
      options.setOption(ORIGIN_SECURITY,bindAddress.getOption(ORIGIN_SECURITY));
      options.setOption(GATEWAY_ORIGIN_SECURITY,bindAddress.getOption(GATEWAY_ORIGIN_SECURITY));
      options.setOption(BALANCE_ORIGINS,bindAddress.getOption(BALANCE_ORIGINS));
      return addressFactory.newResourceAddress(resourcesURI,options);
    }
  }
;
}