Expressions involving negation are more difficult to
understand than positive expressions.
Example:
if ((id < minIndex) || (id > maxIndex))
... is better than ...
if (!(id >= minIndex && id <= maxIndex))
... is better than ...
if (!(id >= minIndex) || !(id <= maxIndex))