code: public String addDatastream(Context context,
                                  String pid,
                                  String dsID,
                                  String[] altIDs,
                                  String dsLabel,
                                  boolean versionable,
                                  String MIMEType,
                                  String formatURI,
                                  String location,
                                  String controlGroup,
                                  String dsState,
                                  String checksumType,
                                  String checksum,
                                  String logMessage) throws ServerException {
          try {
              CreatorJournalEntry cje =
                      new CreatorJournalEntry(METHOD_ADD_DATASTREAM, context);
              cje.addArgument(ARGUMENT_NAME_PID, pid);
              cje.addArgument(ARGUMENT_NAME_DS_ID, dsID);
              cje.addArgument(ARGUMENT_NAME_ALT_IDS, altIDs);
              cje.addArgument(ARGUMENT_NAME_DS_LABEL, dsLabel);
              cje.addArgument(ARGUMENT_NAME_VERSIONABLE, versionable);
              cje.addArgument(ARGUMENT_NAME_MIME_TYPE, MIMEType);
              cje.addArgument(ARGUMENT_NAME_FORMAT_URI, formatURI);
              cje.addArgument(ARGUMENT_NAME_LOCATION, location);
              cje.addArgument(ARGUMENT_NAME_CONTROL_GROUP, controlGroup);
              cje.addArgument(ARGUMENT_NAME_DS_STATE, dsState);
              cje.addArgument(ARGUMENT_NAME_CHECKSUM_TYPE, checksumType);
              cje.addArgument(ARGUMENT_NAME_CHECKSUM, checksum);
              cje.addArgument(ARGUMENT_NAME_LOG_MESSAGE, logMessage);
              return (String) 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.