class WrapperType {

    public boolean isAssignableFrom(@CheckForNull WrapperType type) {
        return this.equals(type) || (type != null && isAssignableFrom(type.getParent()));
    }

    private  WrapperType(String name, WrapperType parent);

}