code: public static <C extends Compound> UniprotProxySequenceReader<C> parseUniprotXMLString(String xml, CompoundSet<C> compoundSet) {
  		try {
  			Document document = XMLHelper.inputStreamToDocument(new ByteArrayInputStream(xml.getBytes()));
  			return new UniprotProxySequenceReader<C>(document, compoundSet);
  		} catch (Exception e) {
  			logger.error("Exception on xml parse of: {}", xml);
  		}
  		return null;
  	}
docs: The passed in xml is parsed as a DOM object so we know everything about the protein.
  If an error occurs throw an exception. We could have a bad uniprot id
  @param xml
  @param compoundSet
  @return UniprotProxySequenceReader
  @throws Exception