JClassType customSerializer = SerializableTypeOracleBuilder.findCustomFieldSerializer(
typeOracle, type);
if (customSerializer != null) {
generateSerializationSignature(typeOracle, customSerializer, crc);
} else if (type.isArray() != null) {
JArrayType isArray = type.isArray();
generateSerializationSignature(typeOracle, isArray.getComponentType(),
crc);
} else if (type.isClassOrInterface() != null) {
JClassType isClassOrInterface = type.isClassOrInterface();
JField[] fields = getSerializableFields(typeOracle, isClassOrInterface);
for (JField field : fields) {