- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- thr.printStackTrace(pw);
- return sw.toString();
+ if ((null == a) || (null == b)) {
+ return (a == b);
+ }
+
+ if (0 == a.size()) {
+ return (0 == b.size());
+ }
+
+ if (a.size() != b.size()) {
+ return false;
+ }
+
+ Iterator<?> iterA = a.iterator();
+ Iterator<?> iterB = b.iterator();
+
+ while (iterA.hasNext()) {
+ Object elemA = iterA.next();
+ Object elemB = iterB.next();
+
+ if (! objsAreEqual(elemA, elemB)) {
+ return false;
+ }
+ }
+
+ return true;