docs: public static <T> T readObj(InputStream in) throws IORuntimeException, UtilException {
  		if (in == null) {
  			throw new IllegalArgumentException("The InputStream must not be null");
  		}
  		ObjectInputStream ois = null;
  		try {
  			ois = new ObjectInputStream(in);
  			@SuppressWarnings("unchecked") // may fail with CCE if serialised form is incorrect
  			final T obj = (T) ois.readObject();
  			return obj;
  		} catch (IOException e) {
  			throw new IORuntimeException(e);
  		} catch (ClassNotFoundException e) {
  			throw new UtilException(e);
  		}
  	}