Source:
<code>protected String inferMappedName(@SuppressWarnings("unused") Class<?> mappedClass, String propertyName, Map<Class<? extends Annotation>, Annotation> annotations) { if (annotations.containsKey(Computed.class)) { String expression = ((Computed) annotations.get(Computed.class)).value(); if (expression.isEmpty()) throw new IllegalArgumentException(String.format("Property '%s': attribute 'value' of annotation @Computed is mandatory for computed properties", propertyName)); return expression; } <START> boolean caseSensitive = false; <END> String mappedName = namingStrategy.toCassandraName(propertyName); if (annotations.containsKey(Column.class)) { Column column = (Column) annotations.get(Column.class); caseSensitive = column.caseSensitive(); if (!column.name().isEmpty()) mappedName = column.name(); } else if (annotations.containsKey(com.datastax.driver.mapping.annotations.Field.class)) { com.datastax.driver.mapping.annotations.Field udtmappedField = (com.datastax.driver.mapping.annotations.Field) annotations.get(com.datastax.driver.mapping.annotations.Field.class); caseSensitive = udtmappedField.caseSensitive(); if (!udtmappedField.name().isEmpty()) mappedName = udtmappedField.name(); } if (mappedName == null || mappedName.isEmpty()) throw new IllegalArgumentException(String.format("Property '%s': could not infer mapped name", propertyName)); return caseSensitive ? Metadata.quote(mappedName) : mappedName.toLowerCase(); }</code><technical_language>surprised if I defined a custom NamingStrategy, I a @Column annotation field/method caseSensitive=true, this automatically lowercases property name. In case a naming strategy case is important (like are), case sensitivity implied. do changing logic if is a NamingStrategy provided user caseSensitive=true is implied? @Column(caseSensitive=true) ideal</technical_language>

Target:
protected String inferMappedName(@SuppressWarnings("unused") Class<?> mappedClass, String propertyName, Map<Class<? extends Annotation>, Annotation> annotations) { if (annotations.containsKey(Computed.class)) { String expression = ((Computed) annotations.get(Computed.class)).value(); if (expression.isEmpty()) throw new IllegalArgumentException(String.format("Property '%s': attribute 'value' of annotation @Computed is mandatory for computed properties", propertyName)); return expression; } boolean caseSensitive = false; String mappedName = null; if (annotations.containsKey(Column.class)) { Column column = (Column) annotations.get(Column.class); caseSensitive = column.caseSensitive(); if (!column.name().isEmpty()) mappedName = column.name(); } else if (annotations.containsKey(com.datastax.driver.mapping.annotations.Field.class)) { com.datastax.driver.mapping.annotations.Field udtMappedField = (com.datastax.driver.mapping.annotations.Field) annotations.get(com.datastax.driver.mapping.annotations.Field.class); caseSensitive = udtMappedField.caseSensitive(); if (!udtMappedField.name().isEmpty()) mappedName = udtMappedField.name(); } if (mappedName != null) { return caseSensitive ? Metadata.quote(mappedName) : mappedName.toLowerCase(); } mappedName = namingStrategy.toCassandraName(propertyName); if (mappedName == null || mappedName.isEmpty()) throw new IllegalArgumentException(String.format("Property '%s': could not infer mapped name", propertyName)); return Metadata.quoteIfNecessary(mappedName); }