Buggy code:
private static final ArrayList < Portal > allPortals = new ArrayList < Portal > ( ) ; private static final HashMap < String , ArrayList < String > > allPortalsNet = new HashMap < String , ArrayList < String > > ( ) ; private static final HashMap < String , HashMap < String , Portal > > lookupNamesNet = new HashMap < String , HashMap < String , Portal > > ( ) ; private Blox topLeft ; private int modX ; private int modZ ; private float rotX ; private SignPost id ; private Blox button ; private Blox [ ] frame ; private Blox [ ] entrances ; private String name ; private String destination ; private String lastDest = "" ; private String network ; private Gate gate ; private String owner = "" ; private World world ; private boolean verified ; private boolean fixed ; private boolean hidden = false ; private boolean alwaysOn = false ; private boolean priv = false ; private boolean free = false ; private boolean backwards = false ; private boolean show = false ; private Player player ; private Player activePlayer ; private ArrayList < String > destinations = new ArrayList < String > ( ) ; private boolean isOpen = false ; private long openTime ; private Portal ( Blox topLeft , int modX , int modZ , float rotX , SignPost id , Blox button , String dest , String name , boolean verified , String network , Gate gate , String owner , boolean hidden , boolean alwaysOn , boolean priv , boolean free , boolean backwards , boolean show ) { } public boolean isOpen ( ) { } public boolean isAlwaysOn ( ) { } public boolean isHidden ( ) { } public boolean isPrivate ( ) { } public boolean isFree ( ) { } public boolean isBackwards ( ) { } public boolean isShown ( ) { } public float getRotation ( ) { } public String getName ( ) { } public void setName ( String name ) { } public Portal getDestination ( ) { } public void setDestination ( Portal destination ) { } public void setDestination ( String destination ) { } public String getDestinationName ( ) { } public Gate getGate ( ) { } public String getOwner ( ) { } public Blox [ ] getEntrances ( ) { } public Blox [ ] getFrame ( ) { } public World getWorld ( ) { } public boolean open ( boolean force ) { } public boolean open ( Player openFor , boolean force ) { } public void close ( boolean force ) { } public boolean isOpenFor ( Player player ) { } public boolean isFixed ( ) { } public boolean isPowered ( ) { } public void teleport ( Player player , Portal origin , PlayerMoveEvent event ) { } public void teleport ( final Vehicle vehicle ) { } public Location getExit ( Location traveller ) { } public boolean isChunkLoaded ( ) { } public void loadChunk ( ) { } public boolean isVerified ( ) { } public boolean wasVerified ( ) { } public boolean checkIntegrity ( ) { } public void activate ( Player player ) { } public void deactivate ( ) { } public boolean isActive ( ) { } public Player getActivePlayer ( ) { } public String getNetwork ( ) { } public long getOpenTime ( ) { } public void cycleDestination ( Player player ) { } public void cycleDestination ( Player player , int dir ) { Boolean activate = false ; if ( ( ! ( isActive ( ) ) ) || ( ( getActivePlayer ( ) ) != player ) ) { activate ( player ) ; Stargate . debug ( "cycleDestination" , ( "Network<seq2seq4repair_space>Size:<seq2seq4repair_space>" + ( Portal . allPortalsNet . get ( network . toLowerCase ( ) ) . size ( ) ) ) ) ; Stargate . debug ( "cycleDestination" , ( "Player<seq2seq4repair_space>has<seq2seq4repair_space>access<seq2seq4repair_space>to:<seq2seq4repair_space>" + ( destinations . size ( ) ) ) ) ; activate = true ; } if ( ( destinations . size ( ) ) == 0 ) { Stargate . sendMessage ( player , Stargate . getString ( "destEmpty" ) ) ; return ; } <START_BUG> if ( ( ! activate ) || ( lastDest . isEmpty ( ) ) ) { <END_BUG> int index = destinations . indexOf ( destination ) ; index += dir ; if ( index >= ( destinations . size ( ) ) ) index = 0 ; else if ( index < 0 ) index = ( destinations . size ( ) ) - 1 ; destination = destinations . get ( index ) ; lastDest = destination ; } openTime = ( System . currentTimeMillis ( ) ) // 1000 ; drawSign ( ) ; } public final void drawSign ( ) { } public void unregister ( boolean removeAll ) { } private Blox getBlockAt ( RelativeBlockVector vector ) { } private void register ( ) { } public static Portal createPortal ( SignChangeEvent event , Player player ) { } public static Portal getByName ( String name , String network ) { } public static Portal getByEntrance ( Location location ) { } public static Portal getByEntrance ( Block block ) { } public static Portal getByBlock ( Block block ) { } public static void saveAllGates ( World world ) { } public static void clearGates ( ) { } public static void loadAllGates ( World world ) { } public static void closeAllGates ( ) { } public static String filterName ( String input ) { } @ Override public String toString ( ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object obj ) { } }

Fix:
if ( ( ( ! ( Stargate . destMemory ) ) || ( ! activate ) ) || ( lastDest . isEmpty ( ) ) ) {