code: private boolean localAtomAllowed(char c) {
          if (Scanners.isAlnum(c) || Scanners.isNonAscii(c)) {
              return true;
          }
          switch (c) {
              case '!':
              case '#':
              case '$':
              case '%':
              case '&':
              case '\'':
              case '*':
              case '+':
              case '-':
              case '/':
              case '=':
              case '?':
              case '^':
              case '_':
              case '`':
              case '{':
              case '|':
              case '}':
              case '~':
                  return true;
          }
          return false;
      }
docs: See "Atom" in RFC 5321, "atext" in RFC 5322