code: private static boolean equalsMayBeNullOrZeroLen(String s1, String s2)
    {
  
      int len1 = (s1 == null) ? 0 : s1.length();
      int len2 = (s2 == null) ? 0 : s2.length();
  
      return (len1 != len2) ? false 
  						 : (len1 == 0) ? true 
  								 : s1.equals(s2);
    }
docs: Tell if the two string refs are equal,
  equality being defined as:
  1) Both strings are null.
  2) One string is null and the other is empty.
  3) Both strings are non-null, and equal.
  
  @param s1 A reference to the first string, or null.
  @param s2 A reference to the second string, or null.
  
  @return true if Both strings are null, or if
  one string is null and the other is empty, or if
  both strings are non-null, and equal because
  s1.equals(s2) returns true.