public static <T extends SearchablePlugin> List<T> search(Collection<T> searchablePlugins, String query)
	{
		return searchablePlugins.stream()
			.filter(plugin -> Text.matchesSearchTerms(SPLITTER.split(query.toLowerCase()), plugin.getKeywords()))
			.sorted(comparator(query))
			.collect(Collectors.toList());
	}
@Test
	public void searchReturnsMatchingPlugins()
	{
		List<SearchablePlugin> results = PluginSearch.search(plugins.values(), "sTATus");
		assertThat(results, hasSize(2));
		assertThat(results, containsInAnyOrder(plugins.get("Discord"), plugins.get("Status Bars")));
	}