private static String[] splitPointerArray(DataType dt) {

		if (!(dt instanceof Pointer) && !(dt instanceof Array)) {
			return null;
		}

		String name = dt.getName();

		int lastIndex = -1;
		int index = name.length() - 1;
		while (true) {
			if (index <= 0) {
				// unexpected condition
				lastIndex = -1;
				break;
			}
			char c = name.charAt(index);
			if (c == '*' || c == '[') {
				lastIndex = index;
			}
			else if (c != ' ' && c != ']' && !Character.isDigit(c)) {
				break;
			}
			--index;
		}

		if (lastIndex <= 0) {
			return null;
		}

		if (name.charAt(lastIndex - 1) == ' ') {
			--lastIndex;
		}

		String[] split = new String[2];
		split[0] = name.substring(0, lastIndex).trim();
		split[1] = name.substring(lastIndex);
		return split;
	}
Compares this representation and the given representation creates a diff string for both
representations.

@param otherRepresentation the other representation to diff against.
@return An array of two strings: the first is this object's diff value, the second is the
        given objects diff value.
Ghidra/Features/Base/src/main/java/ghidra/app/util/html/HTMLDataTypeRepresentation.java