code: Map<String, Object> getProperties() {
          // This is basically the inverse of -[CBLManager parseReplicatorProperties:...]
          Map<String, Object> props = new HashMap<String, Object>();
          props.put("continuous", isContinuous());
          props.put("create_target", shouldCreateTarget());
          props.put("filter", getFilter());
          props.put("query_params", getFilterParams());
          props.put("doc_ids", getDocIds());
  
          URL remoteURL = this.getRemoteUrl();
          // TODO: authenticator is little different from iOS. need to update
  
          Map<String, Object> remote = new HashMap<String, Object>();
          remote.put("url", remoteURL.toString());
          remote.put("headers", getHeaders());
          //remote.put("auth", authMap);
          if (isPull()) {
              props.put("source", remote);
              props.put("target", db.getName());
          } else {
              props.put("source", db.getName());
              props.put("target", remote);
          }
          return props;
      }
docs: Currently only used for test