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;
    }
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 ; }
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