case '\'': out = (Character.isLetterOrDigit(prev)&&Character.isLetter(next));
case '\'': case '@' : case '.' : case '_' : out = (Character.isLetterOrDigit(prev)&&Character.isLetterOrDigit(next));
    protected boolean isWordChar(int posn) {         boolean out = false;         char curr = text.charAt(posn);                  if ((posn == 0) || (posn == text.length()-1)) {           return Character.isLetterOrDigit(curr);         }                  char prev = text.charAt(posn -1);         char next = text.charAt(posn +1);                          switch (curr){           case '\'': out = (Character.isLetterOrDigit(prev)&&Character.isLetter(next));                      break;           default  : out = Character.isLetterOrDigit(curr);         }                 return out;    }