Lines: https://github.com/spring-projects/spring-data-mongodb/blob/45971b212c12c67e4233d1b139de06ba088e18ee/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java#L1073 https://github.com/spring-projects/spring-data-mongodb/blob/45971b212c12c67e4233d1b139de06ba088e18ee/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java#L1074 Why it is checked for String and then ask for conversion for Object and cast to String?