Simple boolean gate with two TriState inputs
The readability can be improved by using explanatory variables, (of course changing the variable names as they make sense to you).

public static boolean isDummy(TriState a, TriState b) {
    boolean oneOfTheInputsIsZero = a.is(ZERO) || b.is(ZERO);
    boolean oneOfTheInputsIsNull = a.is(NULL) || b.is(NULL);
    return oneOfTheInputsIsZero &amp;&amp; oneOfTheInputsIsNull;
}


First one makes it obvious that the function is commutative, in the second one you have to check the LHS and RHS are indeed the mirror image of each other.

Although the two functions may evaluate the same thing they don't say the same thing.
First one says "There is at least one zero and there is at least one null."
Second one says "There is one zero and the other one is null." (which matches the javadoc)

But the comments sometimes also lie. To check the veracity of the comment consider how would you write the function if it took more parameters.

They still say what they say before but now they don't evaluate the same coincidentally.

public static boolean isDummy(TriState a, TriState b, TriState c) {
    return (a.is(ZERO) || b.is(ZERO) || c.is(ZERO))
        &amp;&amp; (a.is(NULL) || b.is(NULL) || c.is(NULL));
}


public static boolean isDummy(TriState a, TriState b, TriState c) {
    return a.is(ZERO) &amp;&amp; b.is(NULL) &amp;&amp; c.is(NULL) 
        || a.is(NULL) &amp;&amp; b.is(ZERO) &amp;&amp; c.is(NULL) 
        || a.is(NULL) &amp;&amp; b.is(NULL) &amp;&amp; c.is(ZERO);
}