/**
   * Wraps an unsanitized job configuration.
   *
   * @param unsanitized Unsanitized configuration to sanitize/populate and wrap.
   * @return A wrapper containing the sanitized configuration.
   * @throws TaskDescriptionException If the configuration is invalid.
   */
  public static SanitizedConfiguration fromUnsanitized(
      ConfigurationManager configurationManager, IJobConfiguration unsanitized)
      throws TaskDescriptionException {

    return new SanitizedConfiguration(configurationManager.validateAndPopulate(unsanitized));
  }