String (String str) { // (m > 0) EED -> EE if (str.endsWith("eed")) { if (stringMeasure(str.substring(0, str.length() - 3)) > 0) { return str.substring(0, str.length() - 1); } else { return str; } // (*v*) ED -> } else if ((str.endsWith("ed")) && (containsVowel(str.substring(0, str.length() - 2)))) { return step1b2(str.substring(0, str.length() - 2)); // (*v*) ING -> } else if ((str.endsWith("ing")) && (containsVowel(str.substring(0, str.length() - 3)))) { return step1b2(str.substring(0, str.length() - 3)); } return str; }