return (Sentence) ((UnarySentence) us.getNegated()).getNegated()
.accept(this, null);
} else if (us.getNegated() instanceof BinarySentence) {
BinarySentence bs = (BinarySentence) us.getNegated();
if (bs.isAndSentence()) {
Sentence first = new UnarySentence((Sentence) bs.getFirst()
.accept(this, null));
Sentence second = new UnarySentence((Sentence) bs.getSecond()
.accept(this, null));
return new BinarySentence("OR", first, second);
} else if (bs.isOrSentence()) {
Sentence first = new UnarySentence((Sentence) bs.getFirst()
.accept(this, null));
Sentence second = new UnarySentence((Sentence) bs.getSecond()
.accept(this, null));
return new BinarySentence("AND", first, second);
} else {
return (Sentence) super.visitNotSentence(us, null);
}