private String serializeParameters(Map<ParamExpression<?>, Object> params) {
        final StringBuilder b = new StringBuilder();
        b.append(PARAMETERS);
        boolean first = true;
        final Collection<Map.Entry<Object, String>> entries = getConstantToLabel().entrySet();
        for (Map.Entry<Object, String> entry : entries) {
            if (!first) {
                b.append(COMMA);
            }
            if (entry.getKey() instanceof Param) {
                Object constant = params.get(entry.getKey());
                if (constant == null) {
                    throw new ParamNotSetException((Param<?>) entry.getKey());
                }
                constants.add(constant);
                b.append(((Param<?>) entry.getKey()).getType().getName());
            } else {
                constants.add(entry.getKey());
                b.append(entry.getKey().getClass().getName());
            }
            b.append(" ").append(entry.getValue());
            first = false;
        }
        return b.toString();
    }
{@code JDOQLSerializer} serializes Querydsl queries and expressions into JDOQL strings

@author tiwe
querydsl-jdo/src/main/java/com/querydsl/jdo/JDOQLSerializer.java