docs: public void updateDataOnly(Transaction tran, ObjectStore store, Persistable persistable) throws PersistenceException, ObjectManagerException, SevereMessageStoreException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "updateDataOnly", new Object[] { "Tran=" + tran, "Persistable=" + persistable });
  
          // Defect 585163
          // Get the meta data object to work with. This may involve 
          // pulling it off disk if it has fallen out of memory.
          PersistableMetaData metaData = getMetaData();
  
          Token rawDataToken = metaData.getRawDataToken();
  
          if (rawDataToken != null)
          {
              Object object = rawDataToken.getManagedObject();
  
              if (object != null)
              {
                  // FSIB0112b.ms.2
                  // We need to check the type of our binary data object
                  // to make sure it's in the correct format
                  if (object instanceof PersistableSlicedData)
                  {
                      PersistableSlicedData slicedData = (PersistableSlicedData) object;
  
                      tran.lock(slicedData);
  
                      try
                      {
                          // Get our data from the passed persistable. This will
                          // either be this object or a cached version.
                          slicedData.setData(persistable.getData());
                      } catch (SevereMessageStoreException smse)
                      {
                          com.ibm.ws.ffdc.FFDCFilter.processException(smse, "com.ibm.ws.sib.msgstore.persistence.objectManager.PersistableImpl.updateDataOnly", "1:577:1.36", this);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                              SibTr.event(tc, "Severe exception caught retrieving latest copy of binary data from Item!", smse);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                              SibTr.exit(tc, "updateDataOnly");
                          throw smse;
                      } catch (PersistentDataEncodingException pdee)
                      {
                          com.ibm.ws.ffdc.FFDCFilter.processException(pdee, "com.ibm.ws.sib.msgstore.persistence.objectManager.PersistableImpl.updateDataOnly", "1:584:1.36", this);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                              SibTr.event(this, tc, "Encoding exception caught retrieving latest copy of binary data from Item!", pdee);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                              SibTr.exit(this, tc, "updateDataOnly");
                          throw pdee;
                      }
  
                      tran.replace(slicedData);
                  }
                  else if (object instanceof PersistableRawData)
                  {
                      // FSIB0112b.ms.2 
                      // In this case we can replace the old data object
                      // with a new one created from the list of DataSlice
                      // object we get from the passed Persistable
                      PersistableRawData rawData = (PersistableRawData) object;
  
                      // Delete the old object
                      tran.delete(rawData);
  
                      // Create the new object.
                      PersistableSlicedData slicedData = new PersistableSlicedData();
  
                      try
                      {
                          // Get our data from the passed persistable. This will
                          // either be this object or a cached version.
                          slicedData.setData(persistable.getData());
                      } catch (PersistentDataEncodingException pdee)
                      {
                          com.ibm.ws.ffdc.FFDCFilter.processException(pdee, "com.ibm.ws.sib.msgstore.persistence.objectManager.PersistableImpl.updateDataOnly", "1:614:1.36", this);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                              SibTr.event(this, tc, "Encoding exception caught retrieving latest copy of binary data from Item!", pdee);
                          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                              SibTr.exit(this, tc, "updateDataOnly");
                          throw pdee;
                      }
  
                      // Allocate in ObjectStore
                      rawDataToken = store.allocate(slicedData);
  
                      // Add MO to transaction
                      tran.add(slicedData);
  
                      // Update token in metadata
                      tran.lock(metaData);
                      metaData.setRawDataToken(rawDataToken);
                      tran.replace(metaData);
  
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          SibTr.debug(this, tc, "Successfully converted PersistableRawData to PersistableSlicedData.");
                  }
              }
          }
          else
          {
              PersistenceException pe = new PersistenceException("No raw data Token found for this Persistable!");
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                  SibTr.event(this, tc, "No raw data Token found for this Persistable!", pe);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "updateDataOnly");
              throw pe;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "updateDataOnly");
      }