code: private void readEndTag() throws IOException, KriptonRuntimeException {
  		read('<');
  		read('/');
  		name = readName(); // TODO: pass the expected name in as a hint?
  		skip();
  		read('>');
  
  		int sp = (depth - 1) * 4;
  
  		if (depth == 0) {
  			checkRelaxed("read end tag " + name + " with no tags open");
  			type = COMMENT;
  			return;
  		}
  
  		if (name.equals(elementStack[sp + 3])) {
  			namespace = elementStack[sp];
  			prefix = elementStack[sp + 1];
  			name = elementStack[sp + 2];
  		} else if (!relaxed) {
  			throw new KriptonRuntimeException("expected: /" + elementStack[sp + 3] + " read: " + name, true, this.getLineNumber(), this.getColumnNumber(), getPositionDescription(), null);
  		}
  	}
docs: Read end tag.
  
  @throws IOException Signals that an I/O exception has occurred.
  @throws KriptonRuntimeException the kripton runtime exception