@@ -0,0 +1,1700 @@
+package org.cyclops.cyclopscore.ingredient.collection;%0A%0Aimport org.cyclops.commoncapabilities.api.ingredient.IngredientComponent;%0A%0Aimport java.util.Collections;%0Aimport java.util.Iterator;%0A%0A/**%0A * An empty immutable ingredient collection.%0A * @param %3CT%3E The instance type.%0A * @param %3CM%3E The matching condition parameter.%0A */%0Apublic class IngredientCollectionEmpty%3CT, M%3E implements IIngredientCollection%3CT, M%3E %7B%0A%0A    private final IngredientComponent%3CT, M%3E component;%0A%0A    public IngredientCollectionEmpty(IngredientComponent%3CT, M%3E component) %7B%0A        this.component = component;%0A    %7D%0A%0A    @Override%0A    public IngredientComponent%3CT, M%3E getComponent() %7B%0A        return this.component;%0A    %7D%0A%0A    @Override%0A    public int size() %7B%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public boolean contains(T instance) %7B%0A        return false;%0A    %7D%0A%0A    @Override%0A    public boolean contains(T instance, M matchCondition) %7B%0A        return false;%0A    %7D%0A%0A    @Override%0A    public int count(T instance, M matchCondition) %7B%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public Iterator%3CT%3E iterator(T instance, M matchCondition) %7B%0A        return Collections.emptyIterator();%0A    %7D%0A%0A    @Override%0A    public Iterator%3CT%3E iterator() %7B%0A        return Collections.emptyIterator();%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        return obj == this %7C%7C obj instanceof IIngredientCollection%0A                && IngredientCollections.equalsCheckedOrdered(this, (IIngredientCollection%3CT, M%3E) obj);%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return IngredientCollections.hash(this);%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return IngredientCollections.toString(this);%0A    %7D%0A%7D%0A

Add empty ingredient collection