private JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus checkChangesForFields( JApiClass jApiClass, JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus state) { for (JApiField field : jApiClass.getFields()) { if (field.getChangeStatus() == JApiChangeStatus.REMOVED) { state = JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus .SERIALIZABLE_INCOMPATIBLE_FIELD_REMOVED; } JApiModifier<StaticModifier> staticModifier = field.getStaticModifier(); if (staticModifier.getOldModifier().isPresent() && staticModifier.getNewModifier().isPresent()) { if (staticModifier.getOldModifier().get() == StaticModifier.NON_STATIC && staticModifier.getNewModifier().get() == StaticModifier.STATIC) { state = JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus .SERIALIZABLE_INCOMPATIBLE_FIELD_CHANGED_FROM_NONSTATIC_TO_STATIC; } } JApiModifier<TransientModifier> transientModifier = field.getTransientModifier(); if (transientModifier.getOldModifier().isPresent() && transientModifier.getNewModifier().isPresent()) { if (transientModifier.getOldModifier().get() == TransientModifier.NON_TRANSIENT && transientModifier.getNewModifier().get() == TransientModifier.TRANSIENT) { state = JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus .SERIALIZABLE_INCOMPATIBLE_FIELD_CHANGED_FROM_NONTRANSIENT_TO_TRANSIENT; } } if (field.getType().getChangeStatus() == JApiChangeStatus.MODIFIED) { state = JApiJavaObjectSerializationCompatibility.JApiJavaObjectSerializationChangeStatus .SERIALIZABLE_INCOMPATIBLE_FIELD_TYPE_MODIFIED; } } return state; }