@SuppressWarnings("deprecation") Index convert(final Indexed indexed, final String nameToStore) { if (indexed.dropDups() || indexed.options().dropDups()) { LOG.warning( "dropDups value is no longer supported by the server. Please set this value to false and " + "validate your system behaves as expected."); } final Map<String, Object> newOptions = extractOptions(indexed.options()); if (!extractOptions(indexed).isEmpty() && !newOptions.isEmpty()) { throw new MappingException( "Mixed usage of deprecated @Indexed values with the new @IndexOption values is not " + "allowed. Please migrate all settings to @IndexOptions"); } List<Field> fields = Collections.<Field>singletonList( new FieldBuilder().value(nameToStore).type(fromValue(indexed.value().toIndexValue()))); return newOptions.isEmpty() ? new IndexBuilder().options(new IndexOptionsBuilder().migrate(indexed)).fields(fields) : new IndexBuilder().options(indexed.options()).fields(fields); }