Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/DatabaseLoadException.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/DatabaseLoadException.java	(revision 30863)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/DatabaseLoadException.java	(revision 30864)
@@ -19,8 +19,22 @@
     /**
      * Default constructor, which sets the message description.
-     * @param message message to be shown to user
+     * @param  message the detail message (which is saved for later retrieval
+     *         by the {@link #getMessage()} method).
      */
     public DatabaseLoadException(String message) {
         super(message);
     }
+
+    /**
+     * Default constructor, which sets the message description and cause.
+     * @param  message the detail message (which is saved for later retrieval
+     *         by the {@link #getMessage()} method).
+     * @param  cause the cause (which is saved for later retrieval by the
+     *         {@link #getCause()} method).  (A <tt>null</tt> value is
+     *         permitted, and indicates that the cause is nonexistent or
+     *         unknown.)
+     */
+    public DatabaseLoadException(String message, Throwable cause) {
+        super(message, cause);
+    }
 }
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/DatabaseParser.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/DatabaseParser.java	(revision 30863)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/DatabaseParser.java	(revision 30864)
@@ -111,11 +111,11 @@
 
             try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(getDatabasePath()))) {
-	            int total = 0, count;
-	            byte[] buffer = new byte[1024*512];
-	            while ((count = con.getInputStream().read(buffer)) >= 0) {
-	                bos.write(buffer, 0, count);
-	                total += count;
-	                Main.error("CzechAddress: MVČR database: " + String.valueOf(total/1024) + " kb downloaded.");
-	            }
+                int total = 0, count;
+                byte[] buffer = new byte[1024*512];
+                while ((count = con.getInputStream().read(buffer)) >= 0) {
+                    bos.write(buffer, 0, count);
+                    total += count;
+                    Main.error("CzechAddress: MVČR database: " + String.valueOf(total/1024) + " kb downloaded.");
+                }
             }
 
@@ -128,6 +128,5 @@
 
         } catch (IOException ioexp) {
-            ioexp.printStackTrace();
-            throw new DatabaseLoadException("Chyba při načítání databáze");
+            throw new DatabaseLoadException("Chyba při načítání databáze", ioexp);
         }
     }
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/MvcrParser.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/MvcrParser.java	(revision 30863)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/MvcrParser.java	(revision 30864)
@@ -9,4 +9,5 @@
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.plugins.czechaddress.DatabaseLoadException;
@@ -38,4 +39,5 @@
 //==============================================================================
 
+    @Override
     public void startElement(String uri, String localName, String name,
                                 Attributes attributes) throws SAXException {
@@ -176,12 +178,21 @@
     }
 
+    @Override
     public void setDocumentLocator(Locator locator) {}
+    @Override
     public void startDocument() throws SAXException {}
+    @Override
     public void endDocument() throws SAXException {}
+    @Override
     public void startPrefixMapping(String prefix, String uri) throws SAXException {}
+    @Override
     public void endPrefixMapping(String prefix) throws SAXException {}
+    @Override
     public void characters(char[] ch, int start, int length) throws SAXException {}
+    @Override
     public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {}
+    @Override
     public void processingInstruction(String target, String data) throws SAXException {}
+    @Override
     public void skippedEntity(String name) throws SAXException {}
 
@@ -237,20 +248,21 @@
     }
 
+    @Override
     protected InputStream getDatabaseStream() throws DatabaseLoadException {
         ZipInputStream zis;
         ZipEntry zipEntry = null;
         try {
-        zis = new ZipInputStream(new FileInputStream(getDatabasePath()));
-
-        while ((zipEntry = zis.getNextEntry()) != null)
-            if (zipEntry.getName().equals("adresy.xml"))
-                break;
+            zis = new ZipInputStream(new FileInputStream(getDatabasePath()));
+
+            while ((zipEntry = zis.getNextEntry()) != null)
+                if (zipEntry.getName().equals("adresy.xml"))
+                    break;
 
         } catch (IOException ioexp) {
-            throw new DatabaseLoadException("Chyba při čtení archivu s databází.");
+            throw new DatabaseLoadException("Chyba při čtení archivu s databází.", ioexp);
         }
 
         if (zipEntry == null)
-        throw new DatabaseLoadException(
+            throw new DatabaseLoadException(
                     "ZIP archiv s databází neobsahuje soubor 'adresy.xml'.");
 
Index: applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/XMLParser.java
===================================================================
--- applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/XMLParser.java	(revision 30863)
+++ applications/editors/josm/plugins/czechaddress/src/org/openstreetmap/josm/plugins/czechaddress/parser/XMLParser.java	(revision 30864)
@@ -2,5 +2,7 @@
 
 import java.io.IOException;
+
 import org.openstreetmap.josm.plugins.czechaddress.DatabaseLoadException;
+import org.openstreetmap.josm.plugins.czechaddress.addressdatabase.Database;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
@@ -22,4 +24,5 @@
                                 implements ContentHandler {
 
+    @Override
     protected void parseDatabase() throws DatabaseLoadException {
 
@@ -31,7 +34,7 @@
 
         } catch (IOException ioexp) {
-            throw new DatabaseLoadException("Chyba při čtení archivu s databází.");
+            throw new DatabaseLoadException("Chyba při čtení archivu s databází.", ioexp);
         } catch (SAXException saxexp) {
-            throw new DatabaseLoadException("Selhaho parsování XML souboru s databází adres.");
+            throw new DatabaseLoadException("Selhaho parsování XML souboru s databází adres.", saxexp);
         }
     }
