code: public static DbgpStackLevel parseStackLevel(Element element)
  			throws DbgpException
  	{
  		int level = Integer.parseInt(element.getAttribute(ATTR_LEVEL));
  
  		String cmdBegin = element.getAttribute(ATTR_CMDBEGIN);
  		String cmdEnd = element.getAttribute(ATTR_CMDEND);
  
  		int beginLine = -1;
  		int beginColumn = -1;
  		int endLine = -1;
  		int endColumn = -1;
  		if (cmdBegin.length() != 0 && cmdEnd.length() != 0)
  		{
  			beginLine = parseLine(cmdBegin);
  			beginColumn = parseColumn(cmdBegin);
  			endLine = parseLine(cmdEnd);
  			endColumn = parseColumn(cmdEnd);
  		}
  
  		int lineNumber = Integer.parseInt(element.getAttribute(ATTR_LINENO));
  
  		/**
  		 * TODO Check ATTR_TYPE who knows when. According to the http://xdebug.org/docs-dbgp.php#stack-get
  		 * <code>Valid values are "file" or "eval"</code>, but Tcl debugger also sends "source" and "console".
  		 */
  		final URI fileUri = parseURI(element.getAttribute(ATTR_FILENAME));
  
  		final String where = element.getAttribute(ATTR_WHERE);
  
  		return new DbgpStackLevel(fileUri, where, level, lineNumber, beginLine, beginColumn, endLine, endColumn);
  	}
docs: $NON-NLS-1$