Program: 61153
Project: 61153
Buggy source:
@Override public void handleError(ClientHttpResponse response) throws IOException {
  if (!ArrayUtils.contains(managedStatuses,response.getStatusCode())) {
    super.handleError(response);
  }
  SyncopeClientCompositeErrorException compositeException=new SyncopeClientCompositeErrorException(response.getStatusCode());
  List<String> exceptionTypesInHeaders=response.getHeaders().get(EXCEPTION_TYPE_HEADER);
  if (exceptionTypesInHeaders == null) {
    if (log.isDebugEnabled()) {
      log.debug("String_Node_Str" + EXCEPTION_TYPE_HEADER + "String_Node_Str");
    }
    return;
  }
  SyncopeClientExceptionType exceptionType=null;
  SyncopeClientException clientException=null;
  Set<String> handledExceptions=new HashSet<String>();
  for (  String exceptionTypeAsString : exceptionTypesInHeaders) {
    try {
      exceptionType=SyncopeClientExceptionType.getFromHeaderValue(exceptionTypeAsString);
    }
 catch (    IllegalArgumentException e) {
      log.error("String_Node_Str" + EXCEPTION_TYPE_HEADER + "String_Node_Str"+ exceptionTypeAsString,e);
    }
    if (exceptionType != null) {
      handledExceptions.add(exceptionTypeAsString);
      clientException=new SyncopeClientException();
      clientException.setType(exceptionType);
      if (response.getHeaders().get(exceptionType.getElementHeaderName()) != null && !response.getHeaders().get(exceptionType.getElementHeaderName()).isEmpty()) {
        clientException.setElements(response.getHeaders().get(exceptionType.getElementHeaderName()));
      }
      compositeException.addException(clientException);
    }
  }
  exceptionTypesInHeaders.removeAll(handledExceptions);
  if (!exceptionTypesInHeaders.isEmpty()) {
    log.error("String_Node_Str" + exceptionTypesInHeaders);
  }
  if (compositeException.hasExceptions()) {
    throw compositeException;
  }
}

Fixed version (ground truth):
@Override public void handleError(final ClientHttpResponse response) throws IOException {
  if (!ArrayUtils.contains(MANAGED_STATUSES,response.getStatusCode())) {
    super.handleError(response);
  }
  List<String> exceptionTypesInHeaders=response.getHeaders().get(EXCEPTION_TYPE_HEADER);
  if (exceptionTypesInHeaders == null) {
    LOG.debug("String_Node_Str" + EXCEPTION_TYPE_HEADER + "String_Node_Str");
    return;
  }
  SyncopeClientCompositeErrorException compositeException=new SyncopeClientCompositeErrorException(response.getStatusCode());
  SyncopeClientExceptionType exceptionType=null;
  SyncopeClientException clientException=null;
  Set<String> handledExceptions=new HashSet<String>();
  for (  String exceptionTypeAsString : exceptionTypesInHeaders) {
    try {
      exceptionType=SyncopeClientExceptionType.getFromHeaderValue(exceptionTypeAsString);
    }
 catch (    IllegalArgumentException e) {
      LOG.error("String_Node_Str" + EXCEPTION_TYPE_HEADER + "String_Node_Str"+ exceptionTypeAsString,e);
    }
    if (exceptionType != null) {
      handledExceptions.add(exceptionTypeAsString);
      clientException=new SyncopeClientException();
      clientException.setType(exceptionType);
      if (response.getHeaders().get(exceptionType.getElementHeaderName()) != null && !response.getHeaders().get(exceptionType.getElementHeaderName()).isEmpty()) {
        clientException.setElements(response.getHeaders().get(exceptionType.getElementHeaderName()));
      }
      compositeException.addException(clientException);
    }
  }
  exceptionTypesInHeaders.removeAll(handledExceptions);
  if (!exceptionTypesInHeaders.isEmpty()) {
    LOG.error("String_Node_Str" + exceptionTypesInHeaders);
  }
  if (compositeException.hasExceptions()) {
    throw compositeException;
  }
}