package Ġclock v apor . telegram . twitter mark ov Ċ Ċ import Ġclock v apor . mark ov . Mark ov Chain Ċ import Ġclock v apor . telegram . whitespace Regex Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġtwitter 4 j . Status Ċ import Ġjava . io . File Ċ Ċ // ĠNeeds Ġto Ġremain Ġpublic Ġfor ĠJSON Ġwriting Ċ @ Suppress (" Member Visibility Can Be Private ") Ċ class ĠTweet Mark ov Chain ( val Ġtweet Ids : ĠMutable Set < Long > Ġ= Ġmutable Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata : ĠMutable Map < String , ĠMutable Map < String , ĠInt >> Ġ= Ġmutable Map Of ()) Ġ: ĠMark ov Chain ( data ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġfun Ġread ( path : ĠString ): ĠTweet Mark ov Chain Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObjectMapper (). readValue < Tweet Mark ov Chain >( File ( path ), ĠTweet Mark ov Chain :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( tweet : ĠStatus ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( tweet Ids . add ( tweet . id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( tweet . text . split ( whitespace Regex )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ