private static DataExperssion resolveAndExperssion(String filterExperssion) {
        DataExperssion result = null;
        String[] experssions = filterExperssion.trim().split(" and ");
        DataExperssion first = resolveCompareExperssion(experssions[0]);
        DataExperssion second = resolveCompareExperssion(experssions[1]);
        List<DataExperssion> list = new ArrayList<DataExperssion>(experssions.length - 2);
        for (int i = 2; i < experssions.length; i++) {
            if (experssions[i].trim().length() > 0) {
                list.add(resolveCompareExperssion(experssions[i]));
            }
        }
        result = and(first, second, toArray(list));
        return result;
    }