code: private void jsmin() throws IOException {
          if (peek() == 0xEF) {
              get();
              get();
              get();
          }
          theA = '\n';
          action(3);
          while (theA != EOF) {
              switch (theA) {
                  case ' ':
                      action(isAlphanum(theB) ? 1 : 2);
                      break;
                  case '\n':
                      switch (theB) {
                          case '{':
                          case '[':
                          case '(':
                          case '+':
                          case '-':
                          case '!':
                          case '~':
                              action(1);
                              break;
                          case ' ':
                              action(3);
                              break;
                          default:
                              action(isAlphanum(theB) ? 1 : 2);
                      }
                      break;
                  default:
                      switch (theB) {
                          case ' ':
                              action(isAlphanum(theA) ? 1 : 3);
                              break;
                          case '\n':
                              switch (theA) {
                                  case '}':
                                  case ']':
                                  case ')':
                                  case '+':
                                  case '-':
                                  case '"':
                                  case '\'':
                                  case '`':
                                      action(1);
                                      break;
                                  default:
                                      action(isAlphanum(theA) ? 1 : 3);
                              }
                              break;
                          default:
                              action(1);
                              break;
                      }
              }
          }
      }
docs: /* jsmin -- Copy the input to the output, deleting the characters which are
  insignificant to JavaScript. Comments will be removed. Tabs will be
  replaced with spaces. Carriage returns will be replaced with linefeeds.
  Most spaces and linefeeds will be removed.