Prior to this commit ResourceDatabasePopulator did not assert any preconditions for constructor and method arguments. Consequently, errors would not be encountered until the populator was executed. This commit addresses this issue by ensuring that preconditions for constructor and method arguments are asserted immediately, throwing IllegalArgumentExceptions where appropriate. Issue: SPR-11690