/** * Determines whether or not this Pipeline "understands" a particular header. * @param name * @return true if pipeline understands a header */ public boolean understands(QName name) { for (Iterator itr = phases.iterator(); itr.hasNext();) { Phase phase = (Phase) itr.next(); List phaseHandlers = getPhaseHandlers(phase.getName()).getHandlers(); for (int i = 0; i < phaseHandlers.size(); i++ ) { Handler h = (Handler) phaseHandlers.get(i); QName[] understoodQs = h.getUnderstoodHeaders(); if (understoodQs != null) { for (int j = 0; j < understoodQs.length; j++) { if (understoodQs[j].equals(name)) return true; } } } } return false; }