code: public void setOption(String key, Object value) throws UnsupportedOption {
  		if (key.equals(INCLUDE_COOKIE)) {
  			options.put(key, null);
  		} else if (key.equals(INCLUDE_OPTIONS)) {
  			options.put(key, null);
  		} else if (key.equals(INCLUDE_SCHEMA_ID)) {
  			options.put(key, null);
  		} else if (key.equals(RETAIN_ENTITY_REFERENCE)) {
  			options.put(key, null);
  		} else if (key.equals(INCLUDE_XSI_SCHEMALOCATION)) {
  			options.put(key, null);
  		} else if (key.equals(INCLUDE_INSIGNIFICANT_XSI_NIL)) {
  			options.put(key, null);
  		} else if (key.equals(INCLUDE_PROFILE_VALUES)) {
  			options.put(key, null);
  		} else if (key.equals(CANONICAL_EXI)) {
  			options.put(key, null);
  			// by default the Canonical EXI Option "omitOptionsDocument" is
  			// false
  			// --> include options
  			this.setOption(INCLUDE_OPTIONS);
  		} else if (key.equals(UTC_TIME)) {
  			options.put(key, null);
  		} else if (key.equals(DEFLATE_COMPRESSION_VALUE)) {
  			if (value != null && value instanceof Integer) {
  				options.put(key, value);
  			} else {
  				throw new UnsupportedOption("EncodingOption '" + key
  						+ "' requires value of type Integer");
  			}
  		} else {
  			throw new UnsupportedOption("EncodingOption '" + key
  					+ "' is unknown!");
  		}
  	}
docs: Enables given option with value.
  
  <p>
  Note: Some options (e.g. INCLUDE_SCHEMA_ID) will only take effect if the
  EXI options document is set to encode options in general (see
  INCLUDE_OPTIONS).
  </p>
  
  @param key
  referring to a specific option
  @param value
  specific option value
  
  @throws UnsupportedOption
  if option is not supported