Компаратор Java для объектов с несколькими полями [закрыто]

У меня есть объектCollection с 5 полями:

id;
entityType;
entityId;
brandId;
productId;

СортироватьArrayList изCollection Я написал следующееComparaor.

Comparator<Collection> collectionComparator = new Comparator<Collection>() {

    @Override
    public int compare(Collection collection1, Collection collection2) {
        if(collection1.getId().equals(collection2.getId())) {
            if(collection1.getEntityType().equals(collection2.getEntityType())) {
                if(collection1.getEntityId().equals(collection2.getEntityId())) {
                    if(collection1.getBrandId().equals(collection2.getBrandId())) {
                        return collection1.getProductId().compareTo(collection2.getProductId());
                    } else {
                        return collection1.getBrandId().compareTo(collection2.getBrandId());
                    }
                } else {
                    return collection1.getEntityId().compareTo(collection2.getEntityId());
                }
            } else {
                return collection1.getEntityType().compareTo(collection2.getEntityType());
            }
        } 

        return collection1.getId().compareTo(collection2.getId());
    }
};

Это правильный способ реализацииComparator на объекте, который имеет несколько полей для сравнения?

Ответы на вопрос(2)

Ваш ответ на вопрос