Testowałem przed chwilą kod:

        try
        {
            XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("Test.txt")));
            {
                encoder.writeObject(obiekt);
            }
            encoder.close();
        }

i ze zdziwieniem zauważyłem, że ten kod nie tylko zapisuje obiekt do pliku ale i wywołuje (bezparametrowy) konstruktor. Bug, celowe? Jak można tego uniknąć?