@Override
  public void endElement(String uri, String localName, String qName) throws SAXException {
    super.endElement(uri, localName, qName);
    String name = localName;

    // Logger.d(TAG, "    end Element " + uri + "," + localName + "," + qName);

    switch (mapToField(name)) {
      case CONTAINER:
        mContentList.add(mContent);
        break;

      case DC_CREATOR:
        mContent.setCreator(currentText.toString());
        break;

      case DC_DATE:
        mContent.setDate(currentText.toString());
        break;

      case DC_TITLE:
        mContent.setTitle(currentText.toString());
        break;

      case ITEM:
        if (ImageItemProcessing) {
          // Desc search from TN to LRG
          for (int i = 0; i < resolution_set.length; i++) {
            String URL = resolution_set[i][IMG_URL];
            if (null != URL) {
              // Logger.d(TAG, " set thumbnail:" +
              // resolution_set[i][RES_TAG]);
              mContent.setThumbnailUrl(URL);
              break;
            }
          }

          // ASC search from LRG to TN
          for (int i = resolution_set.length - 1; i >= 0; i--) {
            String URL = resolution_set[i][IMG_URL];
            if (null != URL) {
              // Logger.d(TAG, " set url:" +
              // resolution_set[i][RES_TAG]);
              mContent.setUrl(URL);
              mContent.setResolution(resolution_set[i][RES_VALUES]);
              break;
            }
          }
        }
        ImageItemProcessing = false;
        mContentList.add(mContent);
        break;

      case RES:
        if (res_index != UNDEFINE) {
          resolution_set[res_index][IMG_URL] = currentText.toString();
          // Logger.d(TAG, " res_index " + res_index);
        }
        break;

      case UPNP_ACTOR:
        mContent.setActor(currentText.toString());
        break;

      case UPNP_ALBUM:
        mContent.setAlbum(currentText.toString());
        break;

      case UPNP_ALBUM_ART_URI:
        mContent.setAlbumUrl(currentText.toString());
        profileId = null;
        break;

      case UPNP_ARTIST:
        if (true == isValid && null != role) {
          if (true == role.equals("AlbumArtist")) {
            mContent.setArtist(currentText.toString());
          }
          role = null;
        }

        break;

      case UPNP_CLASS:
        mContent.setUpnpClass(currentText.toString());
        break;

      case UPNP_GENRE:
        mContent.setGenre(currentText.toString());
        break;

      default:
        Logger.d(TAG, "   SKIP !!");
        // Do Nothing;
        break;
    }

    currentText.setLength(0);
  }