Buggy code:
public class PermissionsResolverManager implements PermissionsResolver { private static final String CONFIG_HEADER = "#\r\n" + ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( "#<seq2seq4repair_space>WEPIF<seq2seq4repair_space>Configuration<seq2seq4repair_space>File\r\n" + "#\r\n" ) + "#<seq2seq4repair_space>This<seq2seq4repair_space>file<seq2seq4repair_space>handles<seq2seq4repair_space>permissions<seq2seq4repair_space>configuration<seq2seq4repair_space>for<seq2seq4repair_space>every<seq2seq4repair_space>plugin<seq2seq4repair_space>using<seq2seq4repair_space>WEPIF\r\n" ) + "#\r\n" ) + "#<seq2seq4repair_space>About<seq2seq4repair_space>editing<seq2seq4repair_space>this<seq2seq4repair_space>file:\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>DO<seq2seq4repair_space>NOT<seq2seq4repair_space>USE<seq2seq4repair_space>TABS.<seq2seq4repair_space>You<seq2seq4repair_space>MUST<seq2seq4repair_space>use<seq2seq4repair_space>spaces<seq2seq4repair_space>or<seq2seq4repair_space>Bukkit<seq2seq4repair_space>will<seq2seq4repair_space>complain.<seq2seq4repair_space>If\r\n" ) + "#<seq2seq4repair_space>you<seq2seq4repair_space>use<seq2seq4repair_space>an<seq2seq4repair_space>editor<seq2seq4repair_space>like<seq2seq4repair_space>Notepad++<seq2seq4repair_space>(recommended<seq2seq4repair_space>for<seq2seq4repair_space>Windows<seq2seq4repair_space>users),<seq2seq4repair_space>you\r\n" ) + "#<seq2seq4repair_space>must<seq2seq4repair_space>configure<seq2seq4repair_space>it<seq2seq4repair_space>to<seq2seq4repair_space>\"replace<seq2seq4repair_space>tabs<seq2seq4repair_space>with<seq2seq4repair_space>spaces.\"<seq2seq4repair_space>In<seq2seq4repair_space>Notepad++,<seq2seq4repair_space>this<seq2seq4repair_space>can\r\n" ) + "#<seq2seq4repair_space>be<seq2seq4repair_space>changed<seq2seq4repair_space>in<seq2seq4repair_space>Settings<seq2seq4repair_space>><seq2seq4repair_space>Preferences<seq2seq4repair_space>><seq2seq4repair_space>Language<seq2seq4repair_space>Menu.\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>Don\'t<seq2seq4repair_space>get<seq2seq4repair_space>rid<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>indents.<seq2seq4repair_space>They<seq2seq4repair_space>are<seq2seq4repair_space>indented<seq2seq4repair_space>so<seq2seq4repair_space>some<seq2seq4repair_space>entries<seq2seq4repair_space>are\r\n" ) + "#<seq2seq4repair_space>in<seq2seq4repair_space>categories<seq2seq4repair_space>(like<seq2seq4repair_space>\"enforce-single-session\"<seq2seq4repair_space>is<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>\"protection\"\r\n" ) + "#<seq2seq4repair_space>category.\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>If<seq2seq4repair_space>you<seq2seq4repair_space>want<seq2seq4repair_space>to<seq2seq4repair_space>check<seq2seq4repair_space>the<seq2seq4repair_space>format<seq2seq4repair_space>of<seq2seq4repair_space>this<seq2seq4repair_space>file<seq2seq4repair_space>before<seq2seq4repair_space>putting<seq2seq4repair_space>it\r\n" ) + "#<seq2seq4repair_space>into<seq2seq4repair_space>WEPIF,<seq2seq4repair_space>paste<seq2seq4repair_space>it<seq2seq4repair_space>into<seq2seq4repair_space>http:////yaml-online-parser.appspot.com//\r\n" ) + "#<seq2seq4repair_space>and<seq2seq4repair_space>see<seq2seq4repair_space>if<seq2seq4repair_space>it<seq2seq4repair_space>gives<seq2seq4repair_space>\"ERROR:\".\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>Lines<seq2seq4repair_space>starting<seq2seq4repair_space>with<seq2seq4repair_space>#<seq2seq4repair_space>are<seq2seq4repair_space>comments<seq2seq4repair_space>and<seq2seq4repair_space>so<seq2seq4repair_space>they<seq2seq4repair_space>are<seq2seq4repair_space>ignored.\r\n" ) + "#\r\n" ) + "#<seq2seq4repair_space>About<seq2seq4repair_space>Configuration<seq2seq4repair_space>Permissions\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>See<seq2seq4repair_space>http:////wiki.sk89q.com//wiki//WorldEdit//Permissions//Bukkit\r\n" ) + "#<seq2seq4repair_space>-<seq2seq4repair_space>Now<seq2seq4repair_space>with<seq2seq4repair_space>multiworld<seq2seq4repair_space>support<seq2seq4repair_space>(see<seq2seq4repair_space>example)\r\n" ) + "\r\n" ) ; private Server server ; private PermissionsResolver permissionResolver ; private PermissionsResolverServerListener listener ; private YAMLProcessor config ; private String name ; private Logger logger ; private List < Class < ? extends PermissionsResolver > > enabledResolvers = new ArrayList < Class < ? extends PermissionsResolver > > ( ) ; @ SuppressWarnings ( "unchecked" ) protected Class < ? extends PermissionsResolver > [ ] availableResolvers = new Class [ ] { PluginPermissionsResolver . class , PermissionsExResolver . class , NijiPermissionsResolver . class , DinnerPermsResolver . class , FlatFilePermissionsResolver . class } ; @ Deprecated public PermissionsResolverManager ( Configuration config , Server server , String name , Logger logger ) { } public PermissionsResolverManager ( Plugin plugin , String name , Logger logger ) { } public void findResolver ( ) { } public void setPluginPermissionsResolver ( Plugin plugin ) { } public void load ( ) { } public boolean hasPermission ( String name , String permission ) { } public boolean hasPermission ( String worldName , String name , String permission ) { } public boolean inGroup ( String player , String group ) { } public String [ ] getGroups ( String player ) { } private boolean loadConfig ( File file ) { boolean isUpdated = false ; if ( ! ( file . exists ( ) ) ) { try { file . createNewFile ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } } config = new YAMLProcessor ( file , false , YAMLFormat . EXTENDED ) ; try { config . load ( ) ; } catch ( IOException e ) { logger . severe ( ( "Error<seq2seq4repair_space>loading<seq2seq4repair_space>WEPIF<seq2seq4repair_space>Config:<seq2seq4repair_space>" + e ) ) ; e . printStackTrace ( ) ; } List < String > keys = config . getKeys ( null ) ; config . setHeader ( PermissionsResolverManager . CONFIG_HEADER ) ; if ( ! ( keys . contains ( "ignore-nijiperms-bridges" ) ) ) { config . setProperty ( "ignore-nijiperms-bridges" , true ) ; isUpdated = true ; } if ( ! ( keys . contains ( "resolvers" ) ) ) { List < String > resolvers = new ArrayList < String > ( ) ; for ( Class < ? > clazz : availableResolvers ) { resolvers . add ( clazz . getSimpleName ( ) ) ; } enabledResolvers . addAll ( Arrays . asList ( availableResolvers ) ) ; config . setProperty ( "resolvers.enabled" , resolvers ) ; isUpdated = true ; } else { List < String > disabledResolvers = config . getStringList ( "resolvers.disabled" , new ArrayList < String > ( ) ) ; List < String > stagedEnabled = config . getStringList ( "resolvers.enabled" , null ) ; for ( Iterator < String > i = stagedEnabled . iterator ( ) ; i . hasNext ( ) ; ) { String nextName = i . next ( ) ; Class < ? > next = null ; try { next = Class . forName ( ( ( ( getClass ( ) . getPackage ( ) . getName ( ) ) + "." ) + nextName ) ) ; } catch ( e ) { } if ( ( next == null ) || ( ! ( . class . isAssignableFrom ( next ) ) ) ) { logger . warning ( ( ( "WEPIF:<seq2seq4repair_space>Invalid<seq2seq4repair_space>or<seq2seq4repair_space>unknown<seq2seq4repair_space>class<seq2seq4repair_space>found<seq2seq4repair_space>in<seq2seq4repair_space>enabled<seq2seq4repair_space>resolvers:<seq2seq4repair_space>" + nextName ) + ".<seq2seq4repair_space>Moving<seq2seq4repair_space>to<seq2seq4repair_space>disabled<seq2seq4repair_space>resolvers<seq2seq4repair_space>list." ) ) ; i . remove ( ) ; disabledResolvers . add ( nextName ) ; isUpdated = true ; continue ; } enabledResolvers . add ( next . asSubclass ( . class ) ) ; } for ( Class < ? > clazz : availableResolvers ) { if ( ( ! ( stagedEnabled . contains ( clazz . getSimpleName ( ) ) ) ) && ( ! ( disabledResolvers . contains ( clazz . getSimpleName ( ) ) ) ) ) { <START_BUG> disabledResolvers . add ( clazz . getName ( ) ) ; <END_BUG> logger . info ( ( ( ( "New<seq2seq4repair_space>permissions<seq2seq4repair_space>resolver:<seq2seq4repair_space>" + ( clazz . getSimpleName ( ) ) ) + "<seq2seq4repair_space>detected.<seq2seq4repair_space>" ) + "Added<seq2seq4repair_space>to<seq2seq4repair_space>disabled<seq2seq4repair_space>resolvers<seq2seq4repair_space>list." ) ) ; isUpdated = true ; } } config . setProperty ( "resolvers.disabled" , disabledResolvers ) ; config . setProperty ( "resolvers.enabled" , stagedEnabled ) ; } if ( ( keys . contains ( "dinner-perms" ) ) || ( keys . contains ( "dinnerperms" ) ) ) { config . setProperty ( "dinner-perms" , null ) ; config . setProperty ( "dinnerperms" , null ) ; isUpdated = true ; } if ( ! ( keys . contains ( "permissions" ) ) ) { ConfigurationPermissionsResolver . generateDefaultPerms ( config . addNode ( "permissions" ) ) ; isUpdated = true ; } if ( isUpdated ) { logger . info ( "WEPIF:<seq2seq4repair_space>Updated<seq2seq4repair_space>config<seq2seq4repair_space>file" ) ; config . save ( ) ; } return isUpdated ; } boolean hasServerListener ( ) { } void setServerListener ( PermissionsResolverServerListener listener ) { } public static class MissingPluginException extends Exception { private static final long serialVersionUID = 7044832912491608706L ; } public String getDetectionMessage ( ) { } }

Fix:
disabledResolvers . add ( clazz . getSimpleName ( ) ) ;