code: public Date modifyDatastreamByReference(Context context,
                                              String pid,
                                              String datastreamID,
                                              String[] altIDs,
                                              String dsLabel,
                                              String mimeType,
                                              String formatURI,
                                              String dsLocation,
                                              String checksumType,
                                              String checksum,
                                              String logMessage,
                                              Date lastModifiedDate)
              throws ServerException {
          try {
              CreatorJournalEntry cje =
                      new CreatorJournalEntry(METHOD_MODIFY_DATASTREAM_BY_REFERENCE,
                                              context);
              cje.addArgument(ARGUMENT_NAME_PID, pid);
              cje.addArgument(ARGUMENT_NAME_DS_ID, datastreamID);
              cje.addArgument(ARGUMENT_NAME_ALT_IDS, altIDs);
              cje.addArgument(ARGUMENT_NAME_DS_LABEL, dsLabel);
              cje.addArgument(ARGUMENT_NAME_MIME_TYPE, mimeType);
              cje.addArgument(ARGUMENT_NAME_FORMAT_URI, formatURI);
              cje.addArgument(ARGUMENT_NAME_DS_LOCATION, dsLocation);
              cje.addArgument(ARGUMENT_NAME_CHECKSUM_TYPE, checksumType);
              cje.addArgument(ARGUMENT_NAME_CHECKSUM, checksum);
              cje.addArgument(ARGUMENT_NAME_LOG_MESSAGE, logMessage);
              cje.addArgument(ARGUMENT_NAME_LAST_MODIFIED_DATE, lastModifiedDate);
              return (Date) cje.invokeAndClose(delegate, writer);
          } catch (JournalException e) {
              throw new GeneralException("Problem creating the Journal", e);
          }
      }
docs: Create a journal entry, add the arguments, and invoke the method.