code: public void removeParameter(String name) {
  		if(name == null) {
  			throw new NullPointerException("parameter name is null ! ");
  		}
  		if(isModifiable == ModifiableRule.NotModifiable) {
  			throw new IllegalStateException("it is forbidden to modify the parameters");
  		}
  		if(name.equalsIgnoreCase("tag") && (isModifiable == ModifiableRule.From || isModifiable == ModifiableRule.To)) {
  			throw new IllegalStateException("it is forbidden to remove the tag parameter on To or From Header");
  		}
  		if(name.equalsIgnoreCase("branch") && isModifiable == ModifiableRule.Via) {
  			throw new IllegalStateException("it is forbidden to set the branch parameter on the Via Header");
  		}
  		this.parameters.remove(name);
  		if(header != null) {
  			header.removeParameter(name);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see javax.servlet.sip.Parameterable#removeParameter(java.lang.String)