System.out.println("new flag: " + Integer.toHexString(flag) + " is reversed?: " + flagReversed);
        private static int loadDestData(        		AbstractRom rom, int address, int type)        {        	if (! destsLoaded.contains(new Integer(address)))        	{        		Destination dest = null;        		if (doorDestTypes[type] == 0)        		{        			int pointer = rom.readMulti(address, 4);        			int flag = rom.readMulti(address + 4, 2);        			boolean flagReversed;        			System.out.println("address: "         					+ Integer.toHexString(rom.readMulti(address + 4, 2))							+ " raw flag: " + Integer.toHexString(flag));        			if (flag > 0x8000)        			{        				flag -= 0x8000;        				flagReversed = true;        			}        			else        				flagReversed = false;        			System.out.println("new flag: "        					+ Integer.toHexString(flag)							+ " is reversed?: " + flagReversed);        			short yCoord = (short) rom.read(address + 6);        			yCoord += (short) ((rom.read(address + 7) & 0x3F) << 8);        			short xCoord = (short) (rom.readMulti(address + 8, 2));        			byte style = rom.readByte(address + 10);        			byte direction =         				(byte) ((rom.read(address + 7) & 0xC0) >> 6);        			dest = new Destination(pointer, (short) flag, flagReversed,        					xCoord, yCoord, style, direction);        		}        		else if (doorDestTypes[type] == 1)        		{        			short flag = (short) (rom.readMulti(address, 2));        			boolean flagReversed;        			if (flag > 0x8000)        			{        				flag -= 0x8000;        				flagReversed = true;        			}        			else        				flagReversed = false;        			int pointer = rom.readMulti(address + 2, 4);        			dest = new Destination(flag, flagReversed, pointer);        		}        		else if (doorDestTypes[type] == 2)        		{        			int pointer = rom.readMulti(address, 4);        			dest = new Destination(pointer);        		}        		        		if (dest != null)        		{        			destData.add(dest);        			int destIndex = destData.indexOf(dest);            		destsLoaded.add(new Integer(address));            		destsIndexes.add(new Integer(destIndex));            		return destIndex;        		}        		else        			return -1;        	}        	else        		return ((Integer) (        				destsIndexes.get(        						destsLoaded.indexOf(        								new Integer(address)))))										.intValue();        }