Term t1 = parseBitwiseOr(required); while (t1 != null) { int tt = tokenizer.next(); if (tt == '<') { Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.LtD(t1, t2); Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.GtD(t1, t2); Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.EqD(t1, t2); Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.NEqD(t1, t2); Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.LeD(t1, t2); Term t2 = parseBitwiseOr(true); if (t1.isD() && t2.isN() || t1.isN() && t2.isD()) { t1 = new Term.GeD(t1, t2);