docs: @Override
  	public Object visit(During during, Object userData) {
  		String propertyName = getPropertyName(during.getExpression1());
  		String finalName = parsePropertyName(propertyName, userData);
  		Object literal = getLiteralValue(during.getExpression2());
  		if (literal instanceof Period) {
  			Period p = (Period) literal;
  			Date begin = p.getBeginning().getPosition().getDate();
  			Date end = p.getEnding().getPosition().getDate();
  			return Restrictions.between(finalName, begin, end);
  		} else {
  			throw new UnsupportedOperationException("visit(Object userData)");
  		}
  	}