code: protected Object deserialize(final byte[] in) {
          Object o = null;
          ByteArrayInputStream bis = null;
          ConfigurableObjectInputStream is = null;
  
          try {
              if (in != null) {
                  bis = new ByteArrayInputStream(in);
                  is = new ConfigurableObjectInputStream(bis, Thread.currentThread().getContextClassLoader());
                  o = is.readObject();
                  is.close();
                  bis.close();
              }
          } catch (IOException e) {
              LOGGER.warn(String.format("Caught IOException decoding %d bytes of data", in.length), e);
          } catch (ClassNotFoundException e) {
              LOGGER.warn(String.format("Caught CNFE decoding %d bytes of data", in.length), e);
          } finally {
              close(is);
              close(bis);
          }
  
          return o;
      }
docs: Deserialize given stream using java deserialization.
  
  @param in
  data to deserialize
  @return deserialized object