throws IOException, JsonGenerationException
{
final HashSet<String> ignored = _ignoredEntries;
final boolean skipNulls = !provider.isEnabled(SerializationFeature.WRITE_NULL_MAP_VALUES);
PropertySerializerMap serializers = _dynamicValueSerializers;
final MapProperty prop = new MapProperty(_valueTypeSerializer, _property);
for (Map.Entry<?,?> entry : value.entrySet()) {
// First, serialize key
final Object keyElem = entry.getKey();
final Object valueElem = entry.getValue();
JsonSerializer<Object> keySer;
if (keyElem == null) {
keySer = provider.findNullKeySerializer(_keyType, _property);
} else {
// [JACKSON-314] skip entries with null values?
if (skipNulls && valueElem == null) continue;
// One twist: is entry ignorable? If so, skip
if (ignored != null && ignored.contains(keyElem)) continue;
keySer = _keySerializer;
}
JsonSerializer<Object> valueSer;
// And then value
if (valueElem == null) {
valueSer = provider.getDefaultNullValueSerializer();
} else {
Class<?> cc = valueElem.getClass();
valueSer = serializers.serializerFor(cc);
if (valueSer == null) {
if (_valueType.hasGenericTypes()) {
valueSer = _findAndAddDynamic(serializers,
provider.constructSpecializedType(_valueType, cc), provider);
} else {