Buggy code:
public class ApiLayer { private static WorldManager wm = WorldManager . getInstance ( ) ; @ Deprecated public static CalculableType getType ( de . bananaco . bpermissions . api . util . CalculableType type ) { } @ Deprecated public static String [ ] getGroups ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name ) { } @ Deprecated public static Permission [ ] getPermissions ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name ) { } @ Deprecated public static synchronized Map < String , Boolean > getEffectivePermissions ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name ) { } @ Deprecated public static String getValue ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String key ) { } @ Deprecated public static void addGroup ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String groupToAdd ) { } @ Deprecated public static void setGroup ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String groupToAdd ) { } @ Deprecated public static void removeGroup ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String groupToRemove ) { } @ Deprecated public static boolean hasGroup ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String group ) { } @ Deprecated public static boolean hasGroupRecursive ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String group ) { } @ Deprecated public static void addPermission ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , Permission permissionToAdd ) { } @ Deprecated public static void removePermission ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String permissionToRemove ) { } @ Deprecated public static boolean hasPermission ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String node ) { } @ Deprecated public static void setValue ( String world , de . bananaco . bpermissions . api . util . CalculableType type , String name , String key , String value ) { } public static String [ ] getGroups ( String world , CalculableType type , String name ) { } public static Permission [ ] getPermissions ( String world , CalculableType type , String name ) { } public static synchronized Map < String , Boolean > getEffectivePermissions ( String world , CalculableType type , String name ) { } public static boolean update ( ) { } public static synchronized String getValue ( String world , CalculableType type , String name , String key ) { } public static void addGroup ( String world , CalculableType type , String name , String groupToAdd ) { } public static void setGroup ( String world , CalculableType type , String name , String groupToAdd ) { } public static void removeGroup ( String world , CalculableType type , String name , String groupToRemove ) { } public static boolean hasGroup ( String world , CalculableType type , String name , String group ) { } public static boolean hasGroupRecursive ( String world , CalculableType type , String name , String group ) { } public static void addPermission ( String world , CalculableType type , String name , Permission permissionToAdd ) { } public static void removePermission ( String world , CalculableType type , String name , String permissionToRemove ) { } public static boolean hasPermission ( String world , CalculableType type , String name , String node ) { long t = System . currentTimeMillis ( ) ; World w = ApiLayer . wm . getWorld ( world ) ; if ( ( ( ( w == null ) || ( type == null ) ) || ( name == null ) ) || ( node == null ) ) { return false ; } Calculable c = w . get ( name , type ) ; <START_BUG> if ( c . isDirty ( ) ) <END_BUG> try { c . calculateEffectivePermissions ( ) ; } catch ( RecursiveGroupException e ) { e . printStackTrace ( ) ; } boolean b = c . hasPermission ( node ) ; long f = System . currentTimeMillis ( ) ; Debugger . log ( ( ( ( ( ( ( "Elapsed<seq2seq4repair_space>milliseconds<seq2seq4repair_space>for<seq2seq4repair_space>hasPermission<seq2seq4repair_space>" + name ) + "<seq2seq4repair_space>-<seq2seq4repair_space>" ) + node ) + "<seq2seq4repair_space>:" ) + ( f - t ) ) + "ms" ) ) ; return b ; } public static void setValue ( String world , CalculableType type , String name , String key , String value ) { } public static void removeValue ( String world , CalculableType type , String name , String key , String value ) { } }

Fix:
if ( ( c . isDirty ( ) ) && ( ! ( c . isCalculatingPermissions ( ) ) ) )