docs: public static IQueryParameterAnd<?> parseQueryParams(FhirContext theContext, RestSearchParameterTypeEnum paramType,
  			String theUnqualifiedParamName, List<QualifiedParamList> theParameters) {
  		QueryParameterAndBinder binder = null;
  		switch (paramType) {
  		case COMPOSITE:
  			throw new UnsupportedOperationException();
  		case DATE:
  			binder = new QueryParameterAndBinder(DateAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case NUMBER:
  			binder = new QueryParameterAndBinder(NumberAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case QUANTITY:
  			binder = new QueryParameterAndBinder(QuantityAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case REFERENCE:
  			binder = new QueryParameterAndBinder(ReferenceAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case STRING:
  			binder = new QueryParameterAndBinder(StringAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case TOKEN:
  			binder = new QueryParameterAndBinder(TokenAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case URI:
  			binder = new QueryParameterAndBinder(UriAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		case HAS:
  			binder = new QueryParameterAndBinder(HasAndListParam.class,
  					Collections.<Class<? extends IQueryParameterType>> emptyList());
  			break;
  		}
  
  		// FIXME null access
  		return binder.parse(theContext, theUnqualifiedParamName, theParameters);
  	}