private void compareKieClassInstanceToGenClassInstance( Class kieCmdClass, Class genCmdClass ) throws Exception { Object genCmd = fillCommand(genCmdClass); if( DeleteCommand.class.equals(genCmdClass) ) { ((DeleteCommand) genCmd).setFactHandle( ":1:2:3:4:5:TRAIT" ); } Object copyKieCmd = roundTripFromFlatToOrigCmd(genCmd, genCmdClass, kieCmdClass); for( Field field : kieCmdClass.getDeclaredFields() ) { if( field.getAnnotation(XmlTransient.class) != null) { continue; } field.setAccessible(true); Object kieCmdFieldVal = field.get(copyKieCmd); assertNotNull( kieCmdClass.getSimpleName() + "." + field.getName(), kieCmdFieldVal ); } }