package Ġorg . cue glow . server . objects ĊĊ Ċ class ĠInvalid G dt f Exception : ĠException Ġ{ ĊĠĠĠ Ġconstructor (): Ġsuper () ĊĠĠĠ Ġconstructor ( message : ĠString ): Ġsuper ( message ) ĊĠĠĠ Ġconstructor ( message : ĠString , Ġcause : ĠThrowable ): Ġsuper ( message , Ġcause ) ĊĠĠĠ Ġconstructor ( cause : ĠThrowable ): Ġsuper ( cause ) Ċ } Ċ Ċ class ĠUnsupported G dt f Exception : ĠException Ġ{ ĊĠĠĠ Ġconstructor (): Ġsuper () ĊĠĠĠ Ġconstructor ( message : ĠString ): Ġsuper ( message ) ĊĠĠĠ Ġconstructor ( message : ĠString , Ġcause : ĠThrowable ): Ġsuper ( message , Ġcause ) ĊĠĠĠ Ġconstructor ( cause : ĠThrowable ): Ġsuper ( cause ) Ċ } Ċ Ċ fun ĠException . get Chain ed Messages (): ĠString Ġ{ ĊĠĠĠ Ġval ĠstringBuilder = ĠStringBuilder () ĊĠĠĠ Ġvar Ġexception : ĠThrowable ? Ġ= Ġthis ĊĠĠĠ Ġvar Ġmessage : ĠString ? ĊĠĠĠ Ġ// Ġtermin ates Ġwhen Ġthe Ġroot Ġcause Ġis Ġreached , Ġi . e . Ġexception . cause Ġ== Ġnull ĊĠĠĠ Ġwhile ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġexception !!. message ĊĠĠĠĠĠĠĠ ĠstringBuilder . append ( message ) ĊĠĠĠĠĠĠĠ Ġexception Ġ= Ġexception . cause ĊĠĠĠĠĠĠĠ Ġif Ġ( exception Ġ!= Ġnull ) Ġ{ string Builder . append (": Ġ" )} Ġelse Ġ{ break } ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠstringBuilder . toString () Ċ }