private void tryPop() {

        Character first = winDeque.peek();
        Integer firstCount = cMap.get(first);
        while (firstCount == null || firstCount > tMap.get(first)) {
            winDeque.pop();
            if (firstCount != null)
                cMap.put(first, firstCount - 1);
            first = winDeque.peek();
            firstCount = cMap.get(first);
        }

        if (minWindow == null || minWindow.length() > winDeque.size()) {
            StringBuilder sb = new StringBuilder();
            for (Character c : winDeque)
                sb.append(c);
            minWindow = sb.toString();
        }
    }