} private static function computeHasCustomFieldSerializer(Clazz $instanceType) { assert($instanceType != null); $qualifiedTypeName = $instanceType->getName(); $simpleSerializerName = $qualifiedTypeName . '_CustomFieldSerializer'; $customSerializer = self::getCustomFieldSerializer($simpleSerializerName); if ($customSerializer != null) { return $customSerializer; } $customSerializerClass = self::getCustomFieldSerializer(self::JRE_SERIALIZER_PACKAGE . '.' . $simpleSerializerName); if (!is_null($customSerializerClass)) { return $customSerializerClass; } return null; } private static function getCustomFieldSerializer($qualifiedSerializerName) { try { return Classes::classOf($qualifiedSerializerName); } catch (ClassNotFoundException $e) { return null; } } public static function fieldComparator(Field $f1, Field $f2) { return strcmp($f1->getName(), $f2->getName()); } } SerializabilityUtil::init();