@Override public void writeStartArray() { checkPreconditions("writeStartArray", State.VALUE); if (context != null && context.name != null) { fieldNameValidatorStack.push(fieldNameValidatorStack.peek().getValidatorForField(getName())); } serializationDepth++; if (serializationDepth > settings.getMaxSerializationDepth()) { throw new BsonSerializationException("Maximum serialization depth exceeded (does the object being " + "serialized have a circular reference?)."); } doWriteStartArray(); setState(State.VALUE); }
@Override public void writeStartDocument() { checkPreconditions("writeStartDocument", State.INITIAL, State.VALUE, State.SCOPE_DOCUMENT, State.DONE); if (context != null && context.name != null) { fieldNameValidatorStack.push(fieldNameValidatorStack.peek().getValidatorForField(getName())); } serializationDepth++; if (serializationDepth > settings.getMaxSerializationDepth()) { throw new BsonSerializationException("Maximum serialization depth exceeded (does the object being " + "serialized have a circular reference?)."); } doWriteStartDocument(); setState(State.NAME); }