bson/src/main/org/bson/AbstractBsonReader.java
protected State getNextState() {
        switch (context.getContextType()) {
            case ARRAY:
            case DOCUMENT:
            case SCOPE_DOCUMENT:
                return State.TYPE;
            case TOP_LEVEL:
                return State.DONE;
            default:
                throw new BSONException(format("Unexpected ContextType %s.", context.getContextType()));
        }
    }
protected State getNextState() {
        switch (context.getContextType()) {
            case ARRAY:
            case DOCUMENT:
            case SCOPE_DOCUMENT:
                return State.TYPE;
            case TOP_LEVEL:
                return State.DONE;
            default:
                throw new BSONException(format("Unexpected ContextType %s.", context.getContextType()));
        }
    }
protected State getNextState ( ) { switch ( context . getContextType ( ) ) { case ARRAY : case DOCUMENT : case SCOPE_DOCUMENT : return State . TYPE ; case TOP_LEVEL : return State . DONE ; default : throw new BSONException ( format ( "Unexpected ContextType %s." , context . getContextType ( ) ) ) ; } }
Returns the next {@code State} to transition to, based on the {@link org.bson.AbstractBsonReader.Context} of this reader.

@return the next state
Returns the next { @code State } to transition to based on the { @link org . bson . AbstractBsonReader . Context } of this reader .