code: private final void step4() {
          switch (sb.charAt(k)) {
          case 'e':
              if (ends("icate")) 
                  r("ic");
              else if (ends("ative"))
                  r("");
              else if (ends("alize")) 
                  r("al");
              break;
          case 'i':
              if (ends("iciti")) 
                  r("ic");
              break;
          case 'l':
              if (ends("ical")) 
                  r("ic");
              else if (ends("ful")) 
                  r("");
              break;
          case 's':
              if (ends("ness")) r("");
              break;
          }
      }
docs: /* step4() deals with -ic-, -full, -ness etc. similar strategy to step3.