Формируем WHERE Сформируй часть запроса WHERE используя StringBuilder. Если значение null, то параметр не должен попадать в запрос. Пример: {"name", "Ivanov", "country", "Ukraine", "city", "Kiev", "age", null} Результат: "name = 'Ivanov' and country = 'Ukraine' and city = 'Kiev'" Требования: 1. Метод getQuery должен принимать один параметр типа Map. 2. Метод getQuery должен иметь тип возвращаемого значения String. 3. Метод getQuery должен быть статическим. 4. Метод getQuery должен возвращать строку сформированную по правилам описанным в условии задачи. На выходе получается один в один с приведённым примером, но валидатор не пропускает по 4 требованию (4. Метод getQuery должен возвращать строку сформированную по правилам описанным в условии задачи). Что я делаю не так?
package com.javarush.task.task22.task2208;

import java.util.LinkedHashMap;
import java.util.Map;

/*
Формируем WHERE
*/
public class Solution {
    public static void main(String[] args) {
        Map<String, String> map = new LinkedHashMap<>();
        map.put("name", "Ivanov");
        map.put("country", "Ukraine");
        map.put("city", "Kiev");
        map.put("age", null);
        System.out.println(getQuery(map));
    }
    public static String getQuery(Map<String, String> params) {
        StringBuilder sb = new StringBuilder("");
        for (Map.Entry<String, String> entry : params.entrySet()) {
            if (entry.getValue() != null){
                sb.append(" and " + entry.getKey() + " = '" + entry.getValue() + "'");
            }
        }
        String s = sb.toString();
        return s.substring(s.indexOf("and") + 4);
    }
}