Added allowEmpty option to File constraint