class ObjectCodecFactory implements CodecFactory {

    public <T> Codec<T> create(AnnotatedElement metadata, Class<T> type,
                               ResolverContext context) {
        if (metadata == null) {
            return createCodec(type, context);
        } else if (metadata.isAnnotationPresent(Bound.class)) {
            return createCodec(type, context);
        } else if (metadata.isAnnotationPresent(BoundObject.class)) {
            return createCodec(type, context, metadata);
        } else {
            return null;
        }
    }

    public  ObjectCodecFactory();
    public  ObjectCodecFactory(CodecFactory codecFactory);
    public  ObjectCodecFactory(CodecFactory codecFactory,
                              BindingFactory bindingFactory);

}