Buggy code:
public class Portal { private static AdvancedPortalsPlugin plugin ; public static boolean portalsActive = true ; public static AdvancedPortal [ ] Portals ; private static boolean ShowBungeeMessage ; public Portal ( AdvancedPortalsPlugin plugin ) { } public static void loadPortals ( ) { } public static String create ( Location pos1 , Location pos2 , String name , String destination , Material triggerBlock , PortalArg ... extraData ) { } public static String create ( Location pos1 , Location pos2 , String name , String destination , Material triggerBlock , String serverName , PortalArg ... portalArgs ) { } private static boolean checkPortalOverlap ( Location pos1 , Location pos2 ) { } private static boolean checkOverLapPortal ( Location pos1 , Location pos2 , int posX , int posY , int posZ ) { } private static String checkMaterial ( Material triggerBlock ) { } public static String create ( Location pos1 , Location pos2 , String portalName , String name , String destination , PortalArg ... extraData ) { } @ SuppressWarnings ( "deprecation" ) public static String create ( Location pos1 , Location pos2 , String name , String destination , String serverName ) { } public static void redefine ( Location pos1 , Location pos2 , String name ) { } public static void remove ( String name ) { } public static boolean portalExists ( String portalName ) { } public static boolean activate ( Player player , String portalName ) { ConfigAccessor config = new ConfigAccessor ( Portal . plugin , "Portals.yml" ) ; if ( ( config . getConfig ( ) . getString ( ( portalName + ".bungee" ) ) ) != null ) { if ( Portal . ShowBungeeMessage ) { player . sendMessage ( ( ( "§a[§eAdvancedPortals§a]<seq2seq4repair_space>Attempting<seq2seq4repair_space>to<seq2seq4repair_space>warp<seq2seq4repair_space>to<seq2seq4repair_space>§e" + ( config . getConfig ( ) . getString ( ( portalName + ".bungee" ) ) ) ) + "§a." ) ) ; } ByteArrayDataOutput out = ByteStreams . newDataOutput ( ) ; out . writeUTF ( "Connect" ) ; out . writeUTF ( config . getConfig ( ) . getString ( ( portalName + ".bungee" ) ) ) ; player . sendPluginMessage ( Portal . plugin , "BungeeCord" , out . toByteArray ( ) ) ; return false ; } else { if ( ( config . getConfig ( ) . getString ( ( portalName + ".destination" ) ) ) != null ) { ConfigAccessor configDesti = new ConfigAccessor ( Portal . plugin , "Destinations.yml" ) ; String destiName = config . getConfig ( ) . getString ( ( portalName + ".destination" ) ) ; if ( ( configDesti . getConfig ( ) . getString ( ( destiName + ".world" ) ) ) != null ) { String permission = config . getConfig ( ) . getString ( ( portalName + ".portalArgs.permission" ) ) ; <START_BUG> if ( ( permission != null ) && ( player . hasPermission ( permission ) ) ) { <END_BUG> boolean warped = Destination . warp ( player , destiName ) ; return warped ; } else { player . sendMessage ( "§c[§7AdvancedPortals§c]<seq2seq4repair_space>You<seq2seq4repair_space>do<seq2seq4repair_space>not<seq2seq4repair_space>have<seq2seq4repair_space>permission<seq2seq4repair_space>to<seq2seq4repair_space>use<seq2seq4repair_space>this<seq2seq4repair_space>portal!" ) ; return false ; } } else { player . sendMessage ( "§c[§7AdvancedPortals§c]<seq2seq4repair_space>The<seq2seq4repair_space>destination<seq2seq4repair_space>you<seq2seq4repair_space>are<seq2seq4repair_space>currently<seq2seq4repair_space>attempting<seq2seq4repair_space>to<seq2seq4repair_space>warp<seq2seq4repair_space>to<seq2seq4repair_space>doesnt<seq2seq4repair_space>exist!" ) ; Portal . plugin . getLogger ( ) . log ( Level . SEVERE , ( ( ( "The<seq2seq4repair_space>portal<seq2seq4repair_space>'" + portalName ) + "'<seq2seq4repair_space>has<seq2seq4repair_space>just<seq2seq4repair_space>had<seq2seq4repair_space>a<seq2seq4repair_space>warp<seq2seq4repair_space>" ) + "attempt<seq2seq4repair_space>and<seq2seq4repair_space>either<seq2seq4repair_space>the<seq2seq4repair_space>data<seq2seq4repair_space>is<seq2seq4repair_space>corrupt<seq2seq4repair_space>or<seq2seq4repair_space>that<seq2seq4repair_space>destination<seq2seq4repair_space>listed<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist!" ) ) ; return false ; } } else { player . sendMessage ( "§c[§7AdvancedPortals§c]<seq2seq4repair_space>The<seq2seq4repair_space>portal<seq2seq4repair_space>you<seq2seq4repair_space>are<seq2seq4repair_space>trying<seq2seq4repair_space>to<seq2seq4repair_space>use<seq2seq4repair_space>doesn\'t<seq2seq4repair_space>have<seq2seq4repair_space>a<seq2seq4repair_space>destination!" ) ; Portal . plugin . getLogger ( ) . log ( Level . SEVERE , ( ( ( "The<seq2seq4repair_space>portal<seq2seq4repair_space>'" + portalName ) + "'<seq2seq4repair_space>has<seq2seq4repair_space>just<seq2seq4repair_space>had<seq2seq4repair_space>a<seq2seq4repair_space>warp<seq2seq4repair_space>" ) + "attempt<seq2seq4repair_space>and<seq2seq4repair_space>either<seq2seq4repair_space>the<seq2seq4repair_space>data<seq2seq4repair_space>is<seq2seq4repair_space>corrupt<seq2seq4repair_space>or<seq2seq4repair_space>portal<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist!" ) ) ; return false ; } } } public static void rename ( String oldName , String newName ) { } }

Fix:
if ( ( ( permission != null ) && ( player . hasPermission ( permission ) ) ) || ( player . isOp ( ) ) ) {