node.addNamespacePrefix(prefix);
nsId = in.readShort(); node.addNamespaceMapping(prefix, doc.getSymbols().getNamespace(nsId));
	public static NodeImpl deserialize(byte[] data, int start, int len, DocumentImpl doc) {		byte attrSizeType = (byte) ((data[start] & 0x0C) >> 0x2);		byte idSizeType = (byte) (data[start] & 0x03);		int children = ByteConversion.byteToInt(data, start + 1);		short attributes = (short) Signatures.read(attrSizeType, data, start + 5);		int next = start + 5 + Signatures.getLength(attrSizeType);		int end = start + len;		short id = (short) Signatures.read(idSizeType, data, next);		String name = doc.getSymbols().getName(id);		ElementImpl node = new ElementImpl(0, name);		node.children = children;		node.attributes = attributes;		node.ownerDocument = doc;		next += Signatures.getLength(idSizeType);		if (end > next) {			byte[] pfxData = new byte[end - next];			System.arraycopy(data, next, pfxData, 0, end - next);			ByteArrayInputStream bin = new ByteArrayInputStream(pfxData);			DataInputStream in = new DataInputStream(bin);			try {				short prefixCount = in.readShort();				String prefix;				for (int i = 0; i < prefixCount; i++) {					prefix = in.readUTF();					node.addNamespacePrefix(prefix);				}			} catch (IOException e) {				e.printStackTrace();			}		}		return node;	}