code: public static MD5MD5CRC32FileChecksum valueOf(Attributes attrs
        ) throws SAXException {
      final String bytesPerCRC = attrs.getValue("bytesPerCRC");
      final String crcPerBlock = attrs.getValue("crcPerBlock");
      final String md5 = attrs.getValue("md5");
      if (bytesPerCRC == null || crcPerBlock == null || md5 == null) {
        return null;
      }
  
      try {
        return new MD5MD5CRC32FileChecksum(Integer.valueOf(bytesPerCRC),
            Integer.valueOf(crcPerBlock), new MD5Hash(md5));
      } catch(Exception e) {
        throw new SAXException("Invalid attributes: bytesPerCRC=" + bytesPerCRC
            + ", crcPerBlock=" + crcPerBlock + ", md5=" + md5, e);
      }
    }
docs: Return the object represented in the attributes.