jetbrick-commons/src/main/java/jetbrick/typecast/TypeCastResolver.java
@SuppressWarnings("rawtypes")
    public <T> void register(Class<?> type, Convertor<?> convertor) {
        pool.put(type, convertor);

        if (type.isPrimitive()) {
            primitiveArrayPool.put(type, new PrimitiveArrayConvertor(type));
        } else {
            objectArrayPool.put(type, new ArrayConvertor(type, convertor));
            listPool.put(type, new ListConvertor(type, convertor));
        }
    }
@SuppressWarnings("rawtypes")
    public <T> void register(Class<?> type, Convertor<?> convertor) {
        pool.put(type, convertor);

        if (type.isPrimitive()) {
            primitiveArrayPool.put(type, new PrimitiveArrayConvertor(type));
        } else {
            objectArrayPool.put(type, new ArrayConvertor(type, convertor));
            listPool.put(type, new ListConvertor(type, convertor));
        }
    }
-------- register / lookup -----------------------------------------------------------