private static void addMultiFieldMapping(
			XContentBuilder builder,
			java.lang.reflect.Field field,
			MultiField annotation,
			boolean nestedOrObjectField) throws IOException {

		// main field
		builder.startObject(field.getName());
		addFieldMappingParameters(builder, annotation.mainField(), nestedOrObjectField);

		// inner fields
		builder.startObject("fields");
		for (InnerField innerField : annotation.otherFields()) {
			builder.startObject(innerField.suffix());
			addFieldMappingParameters(builder, innerField, false);
			builder.endObject();
		}
		builder.endObject();

		builder.endObject();
	}
private static void addMultiFieldMapping(
			XContentBuilder builder,
			java.lang.reflect.Field field,
			MultiField annotation,
			boolean nestedOrObjectField) throws IOException {

		
		builder.startObject(field.getName());
		addFieldMappingParameters(builder, annotation.mainField(), nestedOrObjectField);

		
		builder.startObject("fields");
		for (InnerField innerField : annotation.otherFields()) {
			builder.startObject(innerField.suffix());
			addFieldMappingParameters(builder, innerField, false);
			builder.endObject();
		}
		builder.endObject();

		builder.endObject();
	}
private static void addMultiFieldMapping ( XContentBuilder builder , java . lang . reflect . Field field , MultiField annotation , boolean nestedOrObjectField ) throws IOException { // main field builder . startObject ( field . getName ( ) ) ; addFieldMappingParameters ( builder , annotation . mainField ( ) , nestedOrObjectField ) ; // inner fields builder . startObject ( "fields" ) ; for ( InnerField innerField : annotation . otherFields ( ) ) { builder . startObject ( innerField . suffix ( ) ) ; addFieldMappingParameters ( builder , innerField , false ) ; builder . endObject ( ) ; } builder . endObject ( ) ; builder . endObject ( ) ; }
Add mapping for @MultiField annotation

@throws IOException
Add mapping for @MultiField annotation