if (option.isMustUnderstand()) {
if (option.getMustUnderstand().booleanValue()) {
    public void process(OptionMapType options) throws AxisFault {        if (options == null) {            return;        }        OptionType[] array = options.getOption();        int len = array.length;        for (int i = 0; i < len; i++) {            boolean processed = false;            OptionType option = array[i];            URI uri = option.getName();            final String optionName = uri.toString();            if (log.isDebugEnabled()) {                log.debug("option " + optionName);            }            if (propertyURI.equals(uri)) {                processPropertiesOption(option);                processed = true;            }            if (validateURI.equals(uri)) {                processValidateOption(option);                processed = true;            }            if (nameURI.equals(uri)) {                processNameOption(option);                processed = true;            }            if (!processed) {                //not processed                if (log.isDebugEnabled()) {                    log.debug("Ignored header " + optionName);                }                if (option.isMustUnderstand()) {                    throwFailedToUnderstand(option);                }            }        }    }