code: public void removeHeader(String name) {
  		if(logger.isDebugEnabled()) {
          	logger.debug("removeHeader - name=" + name);
          }
  		checkCommitted();
  		String hName = getFullHeaderName(name);
  
  		if(hName.trim().equalsIgnoreCase(ContactHeader.NAME)) {
  			String header = getHeader(hName);
  			if (isSystemHeaderAndNotGruu(getModifiableRule(hName), header)) {
  				throw new IllegalArgumentException("Cant remove system header["
  						+ hName + "]");
  			}
  		} else {
  			if (isSystemHeader(getModifiableRule(hName))) {
  				throw new IllegalArgumentException("Cant remove system header["
  						+ hName + "]");
  			}
  		}
  
  		if (hName.equalsIgnoreCase("From") || hName.equalsIgnoreCase("To")) {
  			logger.error("Error, can't remove From or To header [" + hName + "]");
  			throw new IllegalArgumentException(
  					"Cant remove From or To header, see JSR 289 Section 4.1.2");
  		}
  
  		String nameToSearch = getCorrectHeaderName(hName);
  
  		this.message.removeHeader(nameToSearch);
  
  	}
docs: /*
  (non-Javadoc)
  @see javax.servlet.sip.SipServletMessage#removeHeader(java.lang.String)