private List<Parameter> lookupParameters(Entity entity, Lookup lookup, Locale locale) { List<Parameter> parameters = new ArrayList<>(); for (String lookupFieldName : lookup.getFieldsOrder()) { LookupFieldType lookupFieldType = lookup.getLookupFieldType(lookupFieldName); Field lookupField; if (lookupFieldName.contains(".")) { lookupField = getRelatedField( lookup .getLookupFieldByName(LookupName.getFieldName(lookupFieldName)) .getMetadata(Constants.MetadataKeys.RELATED_CLASS) .getValue(), LookupName.getRelatedFieldName(lookupFieldName)); } else { lookupField = lookup.getLookupFieldByName(lookupFieldName); } String paramDesc = lookupParamDescription(lookupField, lookupFieldType, locale); Parameter parameter = SwaggerFieldConverter.lookupParameter( lookupFieldName, lookupField, lookupFieldType, paramDesc); parameters.add(parameter); } parameters.addAll(queryParamsParameters(entity.getFieldsExposedByRest(), locale)); return parameters; }