public static <T> boolean equals(final Collection<T> collection1, final Collection<T> collection2) {
        if (collection1.size() != collection2.size())
            return false;

        final Iterator<T> iterator1 = collection1.iterator();
        final Iterator<T> iterator2 = collection2.iterator();

        while (iterator1.hasNext() && iterator2.hasNext())
            if (!iterator1.next().equals(iterator2.next()))
                return false;

        return !(iterator1.hasNext() || iterator2.hasNext());
    } /* End of 'CollectionUtility::equals' method */