code: private void appendDesc(StringBuilder sb)
      {
          String srcId;
  
          if (mSystemId != null) {
              sb.append("[row,col,system-id]: ");
              srcId = mSystemId;
          } else if (mPublicId != null) {
              sb.append("[row,col,public-id]: ");
              srcId = mPublicId;
          } else {
              sb.append("[row,col {unknown-source}]: ");
              srcId = null;
          }
          sb.append('[');
          sb.append(mRow);
          sb.append(',');
          sb.append(mCol);
  
          // Uncomment for testing, to see the char offset:
          //sb.append(" #").append(mCharOffset);
          //sb.append("{").append(System.identityHashCode(this)).append("}");
  
          if (srcId != null) {
              sb.append(',');
              sb.append('"');
              sb.append(srcId);
              sb.append('"');
          }
          sb.append(']');
          if (mContext != null) {
              StringUtil.appendLF(sb);
              sb.append(" from ");
              mContext.appendDesc(sb);
          }
      }
docs: /*
  //////////////////////////////////////////////////////
  Internal methods:
  //////////////////////////////////////////////////////