Iterator iterator = headerInformation.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
if (o instanceof SOAPHeaderBlock) {
SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
headerBlock.detach();
} else if (o instanceof OMElement) {
// work around for a known addressing bug which sends non SOAPHeaderBlock objects
OMElement om = (OMElement) o;
OMNamespace ns = om.getNamespace();
if (ns != null &&