@Override
 public boolean visitDistinct(EJBQLExpression expression) {
   // "distinct" is appended via a marker as sometimes a later match on to-many would
   // require a DISTINCT insertion.
   context.pushMarker(context.makeDistinctMarker(), true);
   context.append(" DISTINCT");
   context.popMarker();
   return true;
 }
  @Override
  public boolean visitWhere(EJBQLExpression expression) {
    // "WHERE" is appended via a marker as it may have been already appended when an
    // entity inheritance qualifier was applied.
    context.pushMarker(context.makeWhereMarker(), true);
    context.append(" WHERE");
    context.popMarker();

    if (context.findOrCreateMarkedBuffer(context.makeEntityQualifierMarker()).length() > 0) {
      context.append(" AND");
    }

    expression.visit(context.getTranslatorFactory().getConditionTranslator(context));
    return false;
  }