// Path: src/main/java/me/welkinbai/bsonmapper/exception/BsonMapperConverterException.java
// public class BsonMapperConverterException extends RuntimeException {
// 
//     public BsonMapperConverterException() {
//         super();
//     }
// 
//     public BsonMapperConverterException(String message) {
//         super(message);
//     }
// 
//     public BsonMapperConverterException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public BsonMapperConverterException(Throwable cause) {
//         super(cause);
//     }
// 
// }


import me.welkinbai.bsonmapper.exception.BsonMapperConverterException;
import org.bson.BsonReader;
import org.bson.BsonUndefined;
import org.bson.BsonValue;
import org.bson.BsonWriter;
package me.welkinbai.bsonmapper;


/**
 * Created by welkinbai on 2017/3/25.
 */
final class BsonUndefinedConverter extends AbstractBsonConverter<BsonUndefined, BsonUndefined> {

    private BsonUndefinedConverter() {
    }

    public static BsonUndefinedConverter getInstance() {
        return new BsonUndefinedConverter();
    }

    @Override
    public BsonUndefined decode(BsonValue bsonValue) {
// Path: src/main/java/me/welkinbai/bsonmapper/exception/BsonMapperConverterException.java
// public class BsonMapperConverterException extends RuntimeException {
// 
//     public BsonMapperConverterException() {
//         super();
//     }
// 
//     public BsonMapperConverterException(String message) {
//         super(message);
//     }
// 
//     public BsonMapperConverterException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public BsonMapperConverterException(Throwable cause) {
//         super(cause);
//     }
// 
// }


// Path: src/main/java/me/welkinbai/bsonmapper/BsonUndefinedConverter.java
import me.welkinbai.bsonmapper.exception.BsonMapperConverterException;
import org.bson.BsonReader;
import org.bson.BsonUndefined;
import org.bson.BsonValue;
import org.bson.BsonWriter;

package me.welkinbai.bsonmapper;


/**
 * Created by welkinbai on 2017/3/25.
 */
final class BsonUndefinedConverter extends AbstractBsonConverter<BsonUndefined, BsonUndefined> {

    private BsonUndefinedConverter() {
    }

    public static BsonUndefinedConverter getInstance() {
        return new BsonUndefinedConverter();
    }

    @Override
    public BsonUndefined decode(BsonValue bsonValue) {
        throw new BsonMapperConverterException("BsonUndefined type is not support");