private String[] getPropertyNames() {
		Listing latestListing = latestPgm.getListing();
		Listing myListing = myPgm.getListing();
		Iterator<String> latestProps = latestListing.getUserDefinedProperties();
		Iterator<String> myProps = myListing.getUserDefinedProperties();
		// Combine the 2 property lists into 1 for use with our comparator.
		ArrayList<String> list = new ArrayList<String>();
		while (latestProps.hasNext()) {
			list.add(latestProps.next());
		}
		while (myProps.hasNext()) {
			String propName = myProps.next();
			// Only add the names we don't have yet.
			if (!list.contains(propName) && !propName.equals("Bookmarks")) {
				list.add(propName);
			}
		}
		return list.toArray(new String[list.size()]);
	}
Determines all of the property names that are available in the latest and my program.
@return the property names.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/UserDefinedPropertyMerger.java