;; zuerst wird gefiltert welche methoden überhaupt in frage kämen ;;; also ob gleiche länge und "ungefähr" gleicher typ ;; sollte einer der argumente von Number erben wird die methode mit dem passensten typen gewählt ;;;; das heißt wenn die zahl die übergeben wurde exact ist werden die methoden in dieser reihenfolge absteigend priorisiert ;;;;; long int short char byte BigInteger ;;;; ist das argument inexect ist die reihenfole folgende ;;;;; double float BigDecimal ;; solte das übergebene argument ein string sein werden String und CharSequence erlaubt und in der reihenfolge gewichtet ;;;; CharBuffer, Segment, String, StringBuffer und StringBuilder implementieren alle CharSequence ;; sollte das übergebene argument ein pointer sein und eine gültige jobject reference sein: ;;; wird überprüft ob der typ eine superclasse des methoden arguments ist oder genau die klasse hat die gesucht wird ;;; hierbei sollte die jeweils konkretere implementierung (das was am nächsten dran ist) am höchsten gewichtet werden ;; boolean ist eindeutig ;; jede methode bekommt eine gewichtung entsprechend der prioritäten die mit den gewichten der anderen argumente addiert wird ;; die methode mit dem besten match gewinnt sollte keine gefunden werden wird eine condition signalisiert