public Record parseDiscogRelease(int id) throws IOException
   {
      URL url = new URL(base.replace("ID", "" + id));
      try
      {
         // System.err.println(url);
         HttpURLConnection uc = (HttpURLConnection) url.openConnection();
         uc.addRequestProperty("Accept-Encoding", "gzip");
         uc.addRequestProperty("User-Agent", "67668099b8BrotherLogic");
         SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
         DiscogXMLParser handler = new DiscogXMLParser();
         parser.parse(new GZIPInputStream(uc.getInputStream()), handler);
         return handler.getRecord();
      }
      catch (SAXException e)
      {
         throw new IOException(e);
      }
      catch (ParserConfigurationException e)
      {
         throw new IOException(e);
      }
      catch (IOException e)
      {
         try
         {

            // Deal with 400 exceptions here (needs discog login)
            if (e.getMessage().contains("Not in GZIP format"))
            {
               System.err.println(url);
               HttpURLConnection uc = (HttpURLConnection) url.openConnection();
               uc.addRequestProperty("Accept-Encoding", "gzip");
               uc.addRequestProperty("User-Agent", "67668099b8BrotherLogic");

               SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
               DiscogXMLParser handler = new DiscogXMLParser();
               parser.parse(uc.getInputStream(), handler);
               Record r = handler.getRecord();
               r.setDiscogsNum(id);
               return r;
            }
         }
         catch (Exception e2)
         {
            throw new IOException(e2);
         }

      }

      return null;
   }