code: @InterfaceAudience.Public
      public Map<String, Object> getUserProperties() {
  
          Map<String, Object> result = new HashMap<String, Object>();
  
          Map<String, Object> sourceMap = getProperties();
          for (String key : sourceMap.keySet()) {
              if (!key.startsWith("_")) {
                  result.put(key, sourceMap.get(key));
              }
          }
          return result;
      }
docs: The user-defined properties, without the ones reserved by CouchDB.
  This is based on -properties, with every key whose name starts with "_" removed.
  
  @return user-defined properties, without the ones reserved by CouchDB.