code: public void deserialize(InputStream in,
                              DigitalObject obj,
                              String encoding,
                              int transContext) throws ObjectIntegrityException,
              StreamIOException, UnsupportedEncodingException {
          File tempDir = null;
          if (m_format.equals(ATOM_ZIP1_1)) {
              try {
                  tempDir = FileUtils.createTempDir("atomzip", null);
                  ZipInputStream zin = new ZipInputStream(new BufferedInputStream(in));
                  ZipEntry entry;
                  // reusable this byte buffer
                  byte[] buf = new byte[4096];
                  while ((entry = zin.getNextEntry()) != null) {
                      FileUtils.copy(zin, new FileOutputStream(new File(tempDir, entry.getName())), buf);
                  }
                  in = new FileInputStream(new File(tempDir, "atommanifest.xml"));
              } catch (FileNotFoundException e) {
                  throw new StreamIOException(e.getMessage(), e);
              } catch (IOException e) {
                  throw new StreamIOException(e.getMessage(), e);
              }
          }
  
          Document<Feed> feedDoc = abdera.getParser().parse(in);
          Feed feed = feedDoc.getRoot();
  
          addObjectProperties(feed, obj);
          addDatastreams(feed, obj, encoding, transContext, tempDir);
  
          m_translator.normalizeDatastreams(obj, transContext, encoding);
          FileUtils.delete(tempDir);
      }
docs: {@inheritDoc}