public static boolean typesAreCompatible(ODBType type1, ODBType type2) {
		if(type1.isArray() && type2.isArray()){
			return typesAreCompatible(type1.getSubType(), type2.getSubType());
		}

		if(type1.getName().equals(type2.getName())){
			return true;
		}
		if(type1.isNative() && type2.isNative()){
			if(type1.isEquivalent(type2)){
				return true;
			}
			return false;
		}
		if(type1.isNonNative() && type2.isNonNative()){
			return (type1.getNativeClass() == type2.getNativeClass()) || (type1.getNativeClass().isAssignableFrom(type2.getNativeClass()));
		}
		return false;
		
	}