@Override
		public Layout getLayout(Address thisModelAddress, boolean isGapAddress) {

			Address primaryModelAddress;
			if (thisModelAddress.equals(lastAddress)) {
				primaryModelAddress = lastCachedPrimaryModelAddress;
			}
			else {
				primaryModelAddress = (modelID == 0) ? thisModelAddress
						: SimpleDiffUtility.getCompatibleAddress(getProgram(), thisModelAddress,
							models[0].getProgram());
				lastAddress = thisModelAddress;
				lastCachedPrimaryModelAddress = primaryModelAddress;
			}

			MultiLayout ml = getMultiLayout(primaryModelAddress, isGapAddress);
			if (ml != null) {
				return ml.getLayout(modelID);
			}
			return null;
		}
Returns the next address in the specified direction

@param address the start address
@param after true to find the address after the given address; false to find the 
		  address before the given address
@return the next address in the given direction; null if there is no next address or if
        <code>address</code> is null
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/multilisting/MultiListingLayoutModel.java