Fixed issue with SetValue to DNA classes

While still keeping the virtual method's base call that will be called if no case
matches, I've modified SetValue to avoid the issue where any set
resulted in an exception thrown as the base call was always called previously.