code: private static boolean isNameCase(String str) {
      if (str.length() < 2) {
        return false;
      }
      if (!(Character.isUpperCase(str.charAt(0)) || Character.isTitleCase(str.charAt(0)))) {
        return false;
      }
      for (int i = 1; i < str.length(); i++) {
        if (Character.isUpperCase(str.charAt(i))) {
          return false;
        }
      }
      return true;
    }
docs: O'Reilly, DeGuzman, etc. (need a little classifier?!?)