void (@NotNull String query) { List<String> words = splitQuery(query); int size = words.size(); if (size == 0) { return; } int index = 0; while (index < size) { String name = words.get(index++); if (name.startsWith("/")) { if (name.equals(SearchWords.VENDOR.getValue()) || name.equals(SearchWords.TAG.getValue())) { if (index < size) { handleAttribute(name, words.get(index++)); } else { addToSearchQuery(query); break; } } else { handleAttribute(name, ""); } } else { addToSearchQuery(name); } } attributes = enabled || disabled || bundled || downloaded || invalid || needUpdate; }