@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Chain<?> chain = (Chain<?>) o;

        if (!componentList.equals(chain.componentList)) return false;
        if (!id.equals(chain.id)) return false;

        return true;
    }
Create a chain by using a builder. This will order the chain by the ordering constraints.
container-core/src/main/java/com/yahoo/component/chain/Chain.java