QueryBuilder { @NotNull public static TermCondition in( @NotNull final String fieldName, @NotNull final UnsignedByteArray... values) { return new SimpleMultiEqualityCondition(fieldName, values); } private  QueryBuilder(); @NotNull static Select select(); @NotNull static TermCondition eq(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray value); @NotNull static TermCondition lt(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray value); @NotNull static TermCondition lte(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray value); @NotNull static TermCondition gt(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray value); @NotNull static TermCondition gte(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray value); @NotNull static TermCondition in(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray... values); @NotNull static TermCondition in(
            @NotNull
            final String fieldName,
            @NotNull
            final UnsignedByteArray from,
            final boolean fromInclusive,
            @NotNull
            final UnsignedByteArray to,
            final boolean toInclusive); @NotNull static Condition not(
            @NotNull
            final Condition condition); @NotNull static Condition or(
            @NotNull
            final Condition c1,
            @NotNull
            final Condition c2,
            final Condition... rest); @NotNull static Condition and(
            @NotNull
            final Condition c1,
            @NotNull
            final Condition c2,
            final Condition... rest); @NotNull static Order asc(
            @NotNull
            final String fieldName); @NotNull static Order desc(
            @NotNull
            final String fieldName);  }
@Test public void pointRange() { in("test", from(1), true, from(1), true); }
@Test(expected = IllegalArgumentException.class) public void emptyValues() { in("f"); }
@Test(expected = IllegalArgumentException.class) public void emptyValue() { in("f", from(1), UnsignedByteArrays.from(new byte[0]), from(3)); }
@Test(expected = IllegalArgumentException.class) public void emptyFrom() { in("test", UnsignedByteArrays.from(new byte[0]), true, from(2), false); }
@Test(expected = IllegalArgumentException.class) public void emptyTo() { in("test", from(1), true, UnsignedByteArrays.from(new byte[0]), false); }
@Test(expected = IllegalArgumentException.class) public void emptyLeftRange() { in("test", from(1), true, from(1), false); }
@Test(expected = IllegalArgumentException.class) public void emptyRightRange() { in("test", from(1), true, from(1), false); }
@Test(expected = IllegalArgumentException.class) public void reversedRange() { in("test", from(2), true, from(1), false); }