value = new de.undercouch.bson4jackson.types.Symbol(((Symbol)value).getSymbol());
} else if (value instanceof ObjectId) {
ObjectId id = (ObjectId)value;
value = new de.undercouch.bson4jackson.types.ObjectId(id.getTime(), id.getMachine(), id.getInc());
} else if (value instanceof Timestamp) {
Timestamp ts = (Timestamp)value;
value = new de.undercouch.bson4jackson.types.Timestamp(ts.getTime(), ts.getInc());
} else if (value instanceof CodeWithScope) {
CodeWithScope code = (CodeWithScope)value;
value = new de.undercouch.bson4jackson.types.JavaScript(code.getCode(), createJacksonData(code.getScope()));
} else if (value instanceof Code) {
Code code = (Code)value;