code: public static QueryParameters updateTypesByName(QueryParameters original, QueryParameters source) {
          QueryParameters updatedParams = new QueryParameters(original);
  
          if (source != null) {
              for (String sourceKey : source.keySet()) {
                  if (updatedParams.containsKey(sourceKey) == true) {
                      updatedParams.updateType(sourceKey, source.getType(sourceKey));
                  }
              }
          }
  
          return updatedParams;
      }
docs: Same as @updateTypes but updates based not on position but on key
  
  @param original QueryParameters which would be updated
  @param source   QueryParameters types of which would be read
  @return updated clone on @original with updated types