Buggy code:
public class ChannelManager implements LunaChatAPI { private static final String MSG_BREAKUP = Resources . get ( "breakupMessage" ) ; private static final String FILE_NAME_DCHANNELS = "defaults.yml" ; private static final String FILE_NAME_TEMPLATES = "templates.yml" ; private static final String FILE_NAME_JAPANIZE = "japanize.yml" ; private static final String FILE_NAME_DICTIONARY = "dictionary.yml" ; private static final String FILE_NAME_HIDELIST = "hidelist.yml" ; private File fileDefaults ; private File fileTemplates ; private File fileJapanize ; private File fileDictionary ; private File fileHidelist ; private HashMap < String , Channel > channels ; private HashMap < String , String > defaultChannels ; private HashMap < String , String > templates ; private HashMap < String , Boolean > japanize ; private HashMap < String , String > dictionary ; private HashMap < String , List < ChannelPlayer > > hidelist ; public ChannelManager ( ) { } @ Override public void reloadAllData ( ) { } protected void saveAllChannels ( ) { } private boolean saveDefaults ( ) { } private boolean saveTemplates ( ) { } private boolean saveJapanize ( ) { } private boolean saveDictionary ( ) { } private boolean saveHidelist ( ) { } public void removeAllDefaultChannels ( ) { } @ Override public boolean isPlayerJapanize ( String playerName ) { } @ Override public boolean isExistChannel ( String channelName ) { } @ Override public Collection < Channel > getChannels ( ) { } @ Override public Collection < Channel > getChannelsByPlayer ( String playerName ) { } @ Override public Channel getDefaultChannel ( String playerName ) { } @ Override public void setDefaultChannel ( String playerName , String channelName ) { } @ Override public void removeDefaultChannel ( String playerName ) { } @ Override public Channel getChannel ( String channelName ) { } @ Override public Channel createChannel ( String channelName ) { } @ Override public Channel createChannel ( String channelName , CommandSender sender ) { } @ Override public boolean removeChannel ( String channelName ) { } @ Override public boolean removeChannel ( String channelName , CommandSender sender ) { } @ Override public String getTemplate ( String id ) { } @ Override public void setTemplate ( String id , String template ) { } @ Override public void removeTemplate ( String id ) { } public HashMap < String , String > getAllDictionary ( ) { } public void setDictionary ( String key , String value ) { } public void removeDictionary ( String key ) { } public List < ChannelPlayer > getHidelist ( ChannelPlayer key ) { } public ArrayList < ChannelPlayer > getHideinfo ( ChannelPlayer player ) { } public void addHidelist ( ChannelPlayer player , ChannelPlayer hided ) { } public void removeHidelist ( ChannelPlayer player , ChannelPlayer hided ) { } @ Override public String japanize ( String message , JapanizeType type ) { if ( type == ( JapanizeType . NONE ) ) { return message ; } <START_BUG> DelayedJapanizeConvertTask task = new DelayedJapanizeConvertTask ( message , type , null , null , "%japanize" , null ) ; <END_BUG> if ( task . runSync ( ) ) { return task . getResult ( ) ; } return null ; } @ Override public void setPlayersJapanize ( String playerName , boolean doJapanize ) { } private List < String > getIdList ( List < ChannelPlayer > players ) { } }

Fix:
DelayedJapanizeConvertTask task = new DelayedJapanizeConvertTask ( message , type , null , null , "%japanize" ) ;