fixed NPEs in Assert
diff --git a/src/main/org/testng/Assert.java b/src/main/org/testng/Assert.java
index a451a69..e35661d 100644
--- a/src/main/org/testng/Assert.java
+++ b/src/main/org/testng/Assert.java
@@ -466,7 +466,13 @@
    * @param message the assertion error message
    */
   static public void assertEquals(Collection actual, Collection expected, String message) {
-    if (null == message) message = "";
+    if(actual == expected) return;
+    
+    if ((actual == null && expected != null) || (actual != null && expected == null)) {
+      if (message != null) fail(message);
+      else fail("Arrays not equal: " + expected + " and " + actual);
+    }
+    
     assertEquals(actual.size(), expected.size(), message + ": lists don't have the same size");
     
     Iterator actIt = actual.iterator();
@@ -477,7 +483,7 @@
       Object e = expIt.next();
       Object a = actIt.next();
       String errorMessage = message == null 
-      ? "Lists differ at element [" + i + "]: " + e + " != " + a
+          ? "Lists differ at element [" + i + "]: " + e + " != " + a
           : message + ": Lists differ at element [" + i + "]: " + e + " != " + a;
       
       assertEquals(a, e, errorMessage);
@@ -492,6 +498,8 @@
    * @param message the assertion error message
    */
   static public void assertEquals(Object[] actual, Object[] expected, String message) {
+    if(actual == expected) return;
+    
     if ((actual == null && expected != null) || (actual != null && expected == null)) {
       if (message != null) fail(message);
       else fail("Arrays not equal: " + expected + " and " + actual);
@@ -507,6 +515,8 @@
    * @param message the assertion error message
    */
   static public void assertEqualsNoOrder(Object[] actual, Object[] expected, String message) {
+    if(actual == expected) return;
+    
     if ((actual == null && expected != null) || (actual != null && expected == null)) {
       if (message != null) fail(message);
       else fail("Arrays not equal: " + expected + " and " + actual);
diff --git a/test/src/org/testng/AssertTest.java b/test/src/org/testng/AssertTest.java
new file mode 100644
index 0000000..d637aac
--- /dev/null
+++ b/test/src/org/testng/AssertTest.java
@@ -0,0 +1,32 @@
+package org.testng;

+

+import java.util.Collection;

+

+import org.testng.annotations.Test;

+

+

+/**

+ * This class/interface 

+ */

+public class AssertTest {

+  @Test

+  public void nullObjectArrayAssertEquals() {

+    Object[] expected= null;

+    Object[] actual= null;

+    Assert.assertEquals(actual, expected);

+  }

+  

+  @Test

+  public void nullObjectArrayAssertNoOrder() {

+    Object[] expected= null;

+    Object[] actual= null;

+    Assert.assertEqualsNoOrder(actual, expected);

+  }

+  

+  @Test

+  public void nullCollectionAssertEquals() {

+    Collection expected = null;

+    Collection actual = null;

+    Assert.assertEquals(actual, expected);

+  }

+}