code: @Override
      public void doCommit(boolean cachedObjectRequired,
                           Context context,
                           DigitalObject obj,
                           String logMessage,
                           boolean remove) throws ServerException {
  
          super.doCommit(cachedObjectRequired, context, obj, logMessage, remove);
  
          // determine the url we need to invoke
          StringBuffer url = new StringBuffer();
          url.append(_gSearchRESTURL + "?operation=updateIndex");
          String pid = obj.getPid();
          url.append("&value=" + urlEncode(pid));
          if (remove) {
              logger.info("Signaling removal of {} to GSearch", pid);
              url.append("&action=deletePid");
          } else {
              if (logger.isInfoEnabled()) {
                  if (obj.isNew()) {
                      logger.info("Signaling add of {} to GSearch", pid);
                  } else {
                      logger.info("Signaling mod of {} to GSearch", pid);
                  }
              }
              url.append("&action=fromPid");
          }
  
          // send the signal
          sendRESTMessage(url.toString());
      }
docs: Commits the changes to the given object as usual, then attempts to
  propagate the change to the GSearch service.