@Override
	public FieldLocation getFieldLocation(ListingField bf, BigInteger index, int fieldNum,
			ProgramLocation programLoc) {

		Object obj = bf.getProxy().getObject();
		if (!(programLoc instanceof LabelFieldLocation)) {
			return null;
		}
		LabelFieldLocation loc = (LabelFieldLocation) programLoc;

		if (!(obj instanceof CodeUnit)) {
			return null;
		}

		String lableName = loc.getName();

		CodeUnit cu = (CodeUnit) obj;

		List<Address> offcuts = getOffcutReferenceAddress(cu);
		for (int i = 0; i < offcuts.size(); i++) {
			String text = getOffsetText(cu, cu.getMinAddress(), offcuts.get(i));
			if (text != null && text.equals(lableName)) {
				return new FieldLocation(index, fieldNum, i, loc.getCharOffset());
			}
		}

		Symbol[] symbols = cu.getSymbols();
		makePrimaryLastItem(symbols);
		if (symbols.length == 0) {
			return null;
		}

		for (int i = 0; i < symbols.length; i++) {
			if (symbols[i].getName().equals(lableName)) {
				return new FieldLocation(index, fieldNum, i + offcuts.size(), loc.getCharOffset());
			}
		}
		return null;
	}
Move primary symbol to last element in array ...
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldFactory.java