@SuppressWarnings("unchecked")
 public <A> A getValue(Serializer<A> s) {
   if (s == null) {
     s = (Serializer<A>) serializer;
   }
   if ((value == null) && (bytes != null) && (s != null)) {
     ByteBuffer cb = bytes.duplicate();
     return s.fromByteBuffer(cb);
   }
   if (value instanceof ByteBuffer) {
     return (A) ((ByteBuffer) value).duplicate();
   }
   return (A) value;
 }