Set<TextMateBracePair> (@Nullable PListValue pairsValue) { if (pairsValue == null) { return null; } Set<TextMateBracePair> result = new HashSet<>(); List<PListValue> pairs = pairsValue.getArray(); for (PListValue pair : pairs) { List<PListValue> chars = pair.getArray(); if (chars.size() == 2) { String left = chars.get(0).getString(); String right = chars.get(1).getString(); if (!left.isEmpty() && !right.isEmpty()) { result.add(new TextMateBracePair(left, right)); } } } return result.isEmpty() ? Collections.emptySet() : result; }