correct usage of Preconditions