/**
     * Parser calls this when the end tag of each element is reached. Data collected in the
     * elementbuffer is generally saved to the image info.
     *
     * @param namespaceURI the namespace (not used)
     * @param localName the current tag we are parsing
     * @param qName ? (not used)
     * @throws SAXException if there is a problem with the parser
     */
    public void endElement(String namespaceURI, String localName, String qName)
        throws SAXException {
      currentKey = localName;

      if (currentKey.equals("program")) {
        currentEntry.setProgramName(elementBuffer);
      } else if (currentKey.equals("programArguments")) {
        currentEntry.setAction(elementBuffer);
      } else if (currentKey.equals("timeStamp")) {
        currentEntry.setTimeStamp(elementBuffer);
      } else if (currentKey.equals("user")) {
        currentEntry.setUser(elementBuffer);
      } else if (currentKey.equals("hostName")) {
        currentEntry.setHostName(elementBuffer);
      } else if (currentKey.equals("architecture")) {
        currentEntry.setArchitecture(elementBuffer);
      } else if (currentKey.equals("platform")) {
        currentEntry.setPlatform(elementBuffer);
      } else if (currentKey.equals("compiler")) {
        // last to be read in, so add to ProvenanceHolder
        holder.add(currentEntry);
      }
    }