class_docstr: Provides 2 main methods that syllabify words given phonology of its language.
docstr: Applies onset maximisation principle to syllables
  :param syllables: list of syllables
  :return:
docstr_tok: ["Applies","onset","maximisation","principle","to","syllables",":","param","syllables",":","list","of","syllables",":","return",":"]
code: def onset_maximization(self, syllables: List[str]) -> List[str]:
      """
      Applies onset maximisation principle to syllables
      :param syllables: list of syllables
      :return:
      """
  
      for i, syl in enumerate(syllables):
          if i != len(syllables) - 1:
              if (
                  syllables[i + 1][0] in self.vowels
                  and syllables[i + 1][-1] not in self.vowels
              ):
                  syllables[i + 1] = syllables[i][-1] + syllables[i + 1]
                  syllables[i] = syllables[i][:-1]
  
      return self.legal_onsets(syllables)
  
imports: import logging
  import unicodedata
  from collections import defaultdict
  from typing import List, Union
  import cltk.phonology.ang.syllabifier
  import cltk.phonology.enm.syllabifier
  import cltk.phonology.gmh.syllabifier
  import cltk.phonology.non.syllabifier
  import cltk.phonology.non.utils
  from cltk.core.exceptions import CLTKException
label_desc: Use image node_id 8 for calling the Syllabifier obj's underlying member method code with example usage: obj.onset_maximization(syllables) and returns: self