add preconditions guava