lojix/state/src/main/com/thesett/aima/state/impl/PropertyIntrospectorBase.java
private boolean isAssignableFromPrimitive(Class wrapperType, Class primitiveType)
    {
        boolean result = false;

        if (primitiveType.equals(boolean.class) && wrapperType.equals(Boolean.class))
        {
            result = true;
        }
        else if (primitiveType.equals(byte.class) && wrapperType.equals(Byte.class))
        {
            result = true;
        }
        else if (primitiveType.equals(char.class) && wrapperType.equals(Character.class))
        {
            result = true;
        }
        else if (primitiveType.equals(short.class) && wrapperType.equals(Short.class))
        {
            result = true;
        }
        else if (primitiveType.equals(int.class) && wrapperType.equals(Integer.class))
        {
            result = true;
        }
        else if (primitiveType.equals(long.class) && wrapperType.equals(Long.class))
        {
            result = true;
        }
        else if (primitiveType.equals(float.class) && wrapperType.equals(Float.class))
        {
            result = true;
        }
        else if (primitiveType.equals(double.class) && wrapperType.equals(Double.class))
        {
            result = true;
        }
        else
        {
            result = false;
        }

        return result;
    }
private boolean isAssignableFromPrimitive(Class wrapperType, Class primitiveType)
    {
        boolean result = false;

        if (primitiveType.equals(boolean.class) && wrapperType.equals(Boolean.class))
        {
            result = true;
        }
        else if (primitiveType.equals(byte.class) && wrapperType.equals(Byte.class))
        {
            result = true;
        }
        else if (primitiveType.equals(char.class) && wrapperType.equals(Character.class))
        {
            result = true;
        }
        else if (primitiveType.equals(short.class) && wrapperType.equals(Short.class))
        {
            result = true;
        }
        else if (primitiveType.equals(int.class) && wrapperType.equals(Integer.class))
        {
            result = true;
        }
        else if (primitiveType.equals(long.class) && wrapperType.equals(Long.class))
        {
            result = true;
        }
        else if (primitiveType.equals(float.class) && wrapperType.equals(Float.class))
        {
            result = true;
        }
        else if (primitiveType.equals(double.class) && wrapperType.equals(Double.class))
        {
            result = true;
        }
        else
        {
            result = false;
        }

        return result;
    }
Checks if a wrapper type is assignable from a primtive type.

@param  wrapperType   The wrapper type.
@param  primitiveType The primitive type.

@return <tt>true</tt> if the wrapper type can be assinged from the primitive.