private function step4() { $this->step4Replacements->rewind(); while ($this->step4Replacements->valid()) { if ($this->sb->count() >= strlen($this->step4Replacements->current()) && $this->sb->SubStr($this->sb->count() - strlen($this->step4Replacements->current()), strlen($this->step4Replacements->current())) == $this->step4Replacements->current()) { if ($this->sb->count() - strlen($this->step4Replacements->current()) >= $this->r2) { switch ($this->step4Replacements->current()) { case "ion": if ($this->sb->count() > 3 && ($this->sb->offsetGet($this->sb->count() - strlen($this->step4Replacements->current()) - 1) == 's' || $this->sb->offsetGet($this->sb->count() - strlen($this->step4Replacements->current()) - 1) == 't')) { $this->sb->Remove($this->sb->count() - strlen($this->step4Replacements->current()), strlen($this->step4Replacements->current())); } return; default: $this->sb->Remove($this->sb->count() - strlen($this->step4Replacements->current()), strlen($this->step4Replacements->current())); return; } } else { return; } } $this->step4Replacements->next(); } }