String name = pd.getName();
String pred = resolver.getPropertyMapper().findPredicate(pd);
optional(select, name, where.append("\n"), null, pred);
if (pd.getPropertyType().equals(Object.class)) {
if (namedTypePresent) {
String name_class = name + "_class";
StringBuilder w = where.append("\n\t");
optional(select, name_class, w, name, type).append("}\n");
for (String n : map.keySet()) {
StringBuilder w = where.append("\n\t");
optional(select, name + "_" + n, w, name, map.get(n)).append("}");
String name = f.getName();
String pred = resolver.getPropertyMapper().findPredicate(f);
optional(select, name, where.append("\n"), null, pred);
if (f.getType().equals(Object.class)) {
if (namedTypePresent) {
String name_class = name + "_class";
StringBuilder w = where.append("\n\t");
optional(select, name_class, w, name, type).append("}\n");
for (String n : map.keySet()) {
StringBuilder w = where.append("\n\t");
optional(select, name + "_" + n, w, name, map.get(n)).append("}");