Buggy code:
@ SerializableAs ( "Channel" ) public abstract class Channel implements ConfigurationSerializable { private static final String FOLDER_NAME_CHANNELS = "channels" ; private static final String KEY_NAME = "name" ; private static final String KEY_DESC = "desc" ; private static final String KEY_FORMAT = "format" ; private static final String KEY_MEMBERS = "members" ; private static final String KEY_BANNED = "banned" ; private static final String KEY_MUTED = "muted" ; private static final String KEY_HIDED = "hided" ; private static final String KEY_MODERATOR = "moderator" ; private static final String KEY_PASSWORD = "password" ; private static final String KEY_VISIBLE = "visible" ; private static final String KEY_COLOR = "color" ; private static final String KEY_BROADCAST = "broadcast" ; private static final String KEY_WORLD = "world" ; private static final String KEY_RANGE = "range" ; private static final String KEY_BAN_EXPIRES = "ban_expires" ; private static final String KEY_MUTE_EXPIRES = "mute_expires" ; private static final String KEY_ALLOWCC = "allowcc" ; private List < ChannelPlayer > members ; private List < ChannelPlayer > moderator ; private List < ChannelPlayer > banned ; private List < ChannelPlayer > muted ; private List < ChannelPlayer > hided ; private String name ; private String description ; private String password ; private boolean visible ; private String colorCode ; private String format ; private boolean broadcastChannel ; private boolean isWorldRange ; private int chatRange ; private Map < ChannelPlayer , Long > banExpires ; private Map < ChannelPlayer , Long > muteExpires ; private String privateMessageTo ; private boolean allowcc ; protected Channel ( String name ) { } public boolean isPersonalChat ( ) { } public boolean isBroadcastChannel ( ) { } public boolean isGlobalChannel ( ) { } public boolean isForceJoinChannel ( ) { } public boolean hasModeratorPermission ( CommandSender sender ) { } public abstract void chat ( ChannelPlayer player , String message ) { } public abstract void chatFromOtherSource ( String player , String source , String message ) { } public void addMember ( ChannelPlayer player ) { } public void removeMember ( ChannelPlayer player ) { } public void addModerator ( ChannelPlayer player ) { } public void removeModerator ( ChannelPlayer player ) { } protected abstract void sendSystemMessage ( String key , ChannelPlayer player ) { } public abstract void sendMessage ( ChannelPlayer player , String message , String format , boolean sendDynmap ) { } public abstract ArrayList < String > getInfo ( boolean forModerator ) { } public abstract ArrayList < String > getLog ( String player , String filter , String date , boolean reverse ) { } public int getOnlineNum ( ) { } public int getTotalNum ( ) { } public abstract void checkExpires ( ) { } @ Override public Map < String , Object > serialize ( ) { } public static Channel deserialize ( Map < String , Object > data ) { } private static List < String > getStringList ( List < ChannelPlayer > org ) { } private static Map < String , Long > getStringLongMap ( Map < ChannelPlayer , Long > org ) { } @ SuppressWarnings ( "unchecked" ) private static < T > T castWithDefault ( Object obj , T def ) { } private static List < ChannelPlayer > castToChannelPlayerList ( Object obj ) { } @ SuppressWarnings ( "unchecked" ) private static List < String > castToStringList ( Object obj ) { } private static Map < ChannelPlayer , Long > castToChannelPlayerLongMap ( Object obj ) { } @ SuppressWarnings ( "unchecked" ) private static Map < String , Long > castToStringLongMap ( Object obj ) { } private static boolean isNeedToSaveForUUIDUpdate ( Map < String , Object > data ) { } public String getDescription ( ) { } public void setDescription ( String description ) { } public String getPassword ( ) { } public void setPassword ( String password ) { } public boolean isVisible ( ) { } public void setVisible ( boolean visible ) { } public String getFormat ( ) { } public void setFormat ( String format ) { } public List < ChannelPlayer > getMembers ( ) { if ( isBroadcastChannel ( ) ) { List < ChannelPlayer > mem = new ArrayList < ChannelPlayer > ( ) ; <START_BUG> for ( Player p : Bukkit . getOnlinePlayers ( ) ) { <END_BUG> mem . add ( ChannelPlayer . getChannelPlayer ( p ) ) ; } return mem ; } return members ; } public List < ChannelPlayer > getModerator ( ) { } public List < ChannelPlayer > getBanned ( ) { } public List < ChannelPlayer > getMuted ( ) { } public Map < ChannelPlayer , Long > getBanExpires ( ) { } public Map < ChannelPlayer , Long > getMuteExpires ( ) { } public List < ChannelPlayer > getHided ( ) { } public String getName ( ) { } public String getColorCode ( ) { } public void setColorCode ( String colorCode ) { } public void setBroadcast ( boolean broadcast ) { } public void setWorldRange ( boolean isWorldRange ) { } public void setChatRange ( int range ) { } public String getPrivateMessageTo ( ) { } public void setPrivateMessageTo ( String name ) { } public boolean isWorldRange ( ) { } public int getChatRange ( ) { } public boolean isAllowCC ( ) { } public void setAllowCC ( boolean allowcc ) { } public boolean save ( ) { } protected boolean remove ( ) { } protected static HashMap < String , Channel > loadAllChannels ( ) { } }

Fix:
for ( Player p : Utility . getOnlinePlayers ( ) ) {