code: protected boolean isNoException(String token,
                                    AnalyzedTokenReadings[] tokens, int i, int j,
                                    boolean precSpace,
                                    boolean follSpace, UnsyncStack<SymbolLocator> symbolStack) {
      String tokenStr = tokens[i].getToken();
      if (i >= 2) {
        String prevPrevToken = tokens[i - 2].getToken();
        String prevToken = tokens[i - 1].getToken();
        // Smiley ":-)" and ":-("
        if (prevPrevToken.equals(":") && prevToken.equals("-") && (tokenStr.equals(")") || tokenStr.equals("("))) {
          return false;
        }
        // Smiley ";-)" and ";-("
        if (prevPrevToken.equals(";") && prevToken.equals("-") && (tokenStr.equals(")") || tokenStr.equals("("))) {
          return false;
        }
      }
      if (i >= 1) {
        String prevToken = tokens[i - 1].getToken();
        // Smiley ":)" and  ":("
        if (prevToken.equals(":") && !tokens[i].isWhitespaceBefore() && (tokenStr.equals(")") || tokenStr.equals("("))) {
          return false;
        }
        // Smiley ";)" and  ";("
        if (prevToken.equals(";") && !tokens[i].isWhitespaceBefore() && (tokenStr.equals(")") || tokenStr.equals("("))) {
          return false;
        }
      }
      return true;
    }
docs: Generic method to specify an exception. For unspecified
  language, it simply returns true (which means no exception) unless
  there's a common smiley like :-) or ;-).
  @param token String token
  @param tokens Sentence tokens
  @param i Current token index
  @param precSpace is preceded with space
  @param follSpace is followed with space