question: public static List < Property > diff ( Shape oldShape , Shape newShape ) { List < Property > oldList = oldShape . getPropertyListInternal ( false ) ; List < Property > newList = newShape . getPropertyListInternal ( false ) ; List < Property > diff = new ArrayList < > ( oldList ) ; diff . addAll ( newList ) ; List < Property > intersection = new ArrayList < > ( oldList ) ; intersection . retainAll ( newList ) ; diff . removeAll ( intersection ) ; return diff ; }
target:  Find difference between two shapes.