}
protected void checkValue(Object value) {
if (value == null) {
if (!canSupportNull()) {
throw new NullUnsupportedTranslationException( getName(), getType() );
}
} else if (getType().isPrimitive()) {
if (!PrimitiveAssignment.isCompatible(getType(), value.getClass())) {
throw new IncompatibleTypeTranslationException( value, getName(), getType() );
}