@Override
        public boolean equals(final Object o) {
            if (this == o) {
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
                return false;
            }
            final Key key = (Key) o;
            return omitAuditFields == key.omitAuditFields &&
                    Objects.equals(clazz, key.clazz);
        }
Given a class return all the property names.
stroom-importexport/stroom-importexport-migration/src/main/java/stroom/importexport/migration/BeanPropertyUtil.java