#fixed code
                                private Map<String, String> filterInfo(Map<String, String> info) {
        Map<String, String> newInfo = Maps.newHashMap(info);
        String limitLine = newInfo.remove(PUSH_PROPERTIES_LIMIT);
        Set<String> limitKeys = getLimitKeys(limitLine);
        if (limitKeys.isEmpty()) {
            return newInfo;
        }

        ImmutableMap.Builder<String, String> result = ImmutableMap.builder();
        for (String key : limitKeys) {
            result.put(key, newInfo.get(key));
        }
        return result.build();
    }
#vulnerable code 
                                private Map<String, String> filterInfo(Map<String, String> info) {

        HashMap<String, String> newInfo = Maps.newHashMap(info);

        String limit = newInfo.get(PUSH_PROPERTIES_LIMIT);
        if (Strings.isNullOrEmpty(limit)) {
            newInfo.remove(PUSH_PROPERTIES_LIMIT);
            return ImmutableMap.copyOf(newInfo);
        }
        List<String> limitList = PUSH_LIMIT_SPLITTER.splitToList(limit);
        if (limitList.size() == 0) {
            newInfo.remove(PUSH_PROPERTIES_LIMIT);
            return ImmutableMap.copyOf(newInfo);
        }

        ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
        for (String key : limitList) {
            builder.put(key, newInfo.get(key));
        }
        return builder.build();
    } 
                            #location 1 
                            #vulnerability type CHECKERS_IMMUTABLE_CAST