class Sort {

	/**
	 * The Sort.
	 */
	@Parameter(description = "Sorting criteria in the format: property,(asc|desc). "
			+ "Default sort order is ascending. " + "Multiple sort criteria are supported."
			, name = "sort"
			, array = @ArraySchema(schema = @Schema(type = "string")))
	private List<String> sort;

	/**
	 * Instantiates a new Sort.
	 *
	 * @param sort the sort
	 */
	public Sort(List<String> sort) {
		this.sort = sort;
	}

	/**
	 * Gets sort.
	 *
	 * @return the sort
	 */
	public List<String> getSort() {
		return sort;
	}

	/**
	 * Sets sort.
	 *
	 * @param sort the sort
	 */
	public void setSort(List<String> sort) {
		if (sort == null) {
			this.sort.clear();
		}
		else {
			this.sort = sort;
		}
	}

	/**
	 * Add sort.
	 *
	 * @param sort the sort
	 */
	public void addSort(String sort) {
		this.sort.add(sort);
	}

	@Override
	public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

	@Override
	public int hashCode() {
		return Objects.hash(sort);
	}

	@Override
	public String toString() {
		return "Sort{" +
				"sort=" + sort +
				'}';
	}
}

		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		Sort sort = (Sort) o;
		return Objects.equals(this.sort, sort.sort);
	
<no_super_class>