public void updateRef(String key, U obj){
    if(!this.bloom.isPresent(key)){
      throw new IllegalArgumentException("key is not present");
    }
    synchronized(this.cache){
      this.cache.put(key, new SoftReference<U>(obj));
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      ObjectOutputStream objOut;
      try{
        objOut = new ObjectOutputStream(baos);
        objOut.writeObject(obj);
        objOut.close();
        this.backing.queue.add(new KeyValAction(key, this.group, baos, KVActions.PUT, obj));
      }catch(IOException e){
        e.printStackTrace();
      }
    }
  }