@@ -22,6 +22,7 @@ public class ElementSearch implements IElementSearch {
2222
2323	private  final  Map <PrefixInfo <IListElementInfo <?>, IListElement <?>>, PrefixedSearchable <IListElementInfo <?>, IListElement <?>>> prefixedSearchables  = new  IdentityHashMap <>();
2424	private  final  CombinedSearchables <IListElement <?>> combinedSearchables  = new  CombinedSearchables <>();
25+ 	private  final  Set <IListElement <?>> allElements  = Collections .newSetFromMap (new  IdentityHashMap <>());
2526
2627	public  ElementSearch (ElementPrefixParser  elementPrefixParser ) {
2728		for  (PrefixInfo <IListElementInfo <?>, IListElement <?>> prefixInfo  : elementPrefixParser .allPrefixInfos ()) {
@@ -57,6 +58,7 @@ public Set<IListElement<?>> getSearchResults(ElementPrefixParser.TokenInfo token
5758
5859	@ Override 
5960	public  void  add (IListElementInfo <?> info ) {
61+ 		this .allElements .add (info .getElement ());
6062		for  (PrefixedSearchable <IListElementInfo <?>, IListElement <?>> prefixedSearchable  : this .prefixedSearchables .values ()) {
6163			SearchMode  searchMode  = prefixedSearchable .getMode ();
6264			if  (searchMode  != SearchMode .DISABLED ) {
@@ -71,6 +73,9 @@ public void add(IListElementInfo<?> info) {
7173
7274	@ Override 
7375	public  void  addAll (Collection <IListElementInfo <?>> infos ) {
76+ 		for  (IListElementInfo <?> info  : infos ) {
77+ 			this .allElements .add (info .getElement ());
78+ 		}
7479		for  (PrefixedSearchable <IListElementInfo <?>, IListElement <?>> prefixedSearchable  : this .prefixedSearchables .values ()) {
7580			SearchMode  searchMode  = prefixedSearchable .getMode ();
7681			if  (searchMode  != SearchMode .DISABLED ) {
@@ -87,10 +92,7 @@ public void addAll(Collection<IListElementInfo<?>> infos) {
8792
8893	@ Override 
8994	public  Set <IListElement <?>> getAllIngredients () {
90- 		Set <IListElement <?>> results  = Collections .newSetFromMap (new  IdentityHashMap <>());
91- 		PrefixedSearchable <IListElementInfo <?>, IListElement <?>> noPrefixSearchables  = this .prefixedSearchables .get (ElementPrefixParser .NO_PREFIX );
92- 		noPrefixSearchables .getAllElements (results ::addAll );
93- 		return  results ;
95+ 		return  Collections .unmodifiableSet (allElements );
9496	}
9597
9698	@ Override 
0 commit comments