in xstream/src/java/com/thoughtworks/xstream/mapper/LambdaMapper.java [36:59]
public String serializedClass(final Class<?> type) {
Class<?> replacement = null;
if (Types.isLambdaType(type)) {
if (Serializable.class.isAssignableFrom(type)) {
final Class<?>[] interfaces = type.getInterfaces();
if (interfaces.length > 1) {
for (int i = 0; replacement == null && i < interfaces.length; i++) {
final Class<?> iface = interfaces[i];
for (final Method method : iface.getMethods()) {
if (!method.isDefault() && !Modifier.isStatic(method.getModifiers())) {
replacement = iface;
break;
}
}
}
} else {
replacement = interfaces[0];
}
} else {
replacement = Null.class;
}
}
return super.serializedClass(replacement == null ? type : replacement);
}