code: @SuppressWarnings("unused")
  	public void setPrefix(String prefix, String namespace) throws IOException {
  		if (startTagIncomplete)
  			closeStartTag();
  		// assert prefix != null;
  		// assert namespace != null;
  		if (prefix == null) {
  			prefix = "";
  		}
  		if (!namesInterned) {
  			prefix = prefix.intern(); // will throw NPE if prefix==null
  		} else if (checkNamesInterned) {
  			checkInterning(prefix);
  		} else if (prefix == null) {
  			throw new IllegalArgumentException("prefix must be not null" + getLocation());
  		}
  
  		// check that prefix is not duplicated ...
  		for (int i = elNamespaceCount[depth]; i < namespaceEnd; i++) {
  			if (prefix == namespacePrefix[i]) {
  				throw new IllegalStateException("duplicated prefix " + printable(prefix) + getLocation());
  			}
  		}
  
  		if (!namesInterned) {
  			namespace = namespace.intern();
  		} else if (checkNamesInterned) {
  			checkInterning(namespace);
  		} else if (namespace == null) {
  			throw new IllegalArgumentException("namespace must be not null" + getLocation());
  		}
  
  		if (namespaceEnd >= namespacePrefix.length) {
  			ensureNamespacesCapacity();
  		}
  		namespacePrefix[namespaceEnd] = prefix;
  		namespaceUri[namespaceEnd] = namespace;
  		++namespaceEnd;
  		setPrefixCalled = true;
  	}
docs: Sets the prefix.
  
  @param prefix the prefix
  @param namespace the namespace
  @throws IOException Signals that an I/O exception has occurred.