### Question:
ConjunctionImpl implements Conjunction<T> { @Override public List<T> getLiterals() { return Collections.unmodifiableList(this.literals); } ConjunctionImpl(List<? extends T> literals); @Override List<T> getLiterals(); @Override Stream<Term> getTerms(); @Override int hashCode(); @Override boolean equals(Object obj); @Override Iterator<T> iterator(); @Override String toString();  }### Answer:
@Test public void testGettersLiterals() { final Variable x = Expressions.makeUniversalVariable("X"); final Variable y = Expressions.makeUniversalVariable("Y"); final Variable z = Expressions.makeExistentialVariable("Z"); final Constant c = Expressions.makeAbstractConstant("c"); final Constant d = Expressions.makeAbstractConstant("d"); final Literal positiveLiteral1 = Expressions.makePositiveLiteral("p", x, c); final NegativeLiteral negativeLiteral2 = Expressions.makeNegativeLiteral("p", y, x); final Literal positiveLiteral3 = Expressions.makePositiveLiteral("q", x, d); final Literal positiveLiteral4 = Expressions.makePositiveLiteral("q", y, d, z); final List<Literal> literalList = Arrays.asList(positiveLiteral1, negativeLiteral2, positiveLiteral3, positiveLiteral4); final Conjunction<Literal> conjunction = new ConjunctionImpl<>(literalList); assertEquals(literalList, conjunction.getLiterals()); assertEquals(Sets.newSet(x, y, z), conjunction.getVariables().collect(Collectors.toSet())); assertEquals(Sets.newSet(x, y), conjunction.getUniversalVariables().collect(Collectors.toSet())); assertEquals(Sets.newSet(z), conjunction.getExistentialVariables().collect(Collectors.toSet())); assertEquals(Sets.newSet(), conjunction.getNamedNulls().collect(Collectors.toSet())); assertEquals(Sets.newSet(c, d), conjunction.getAbstractConstants().collect(Collectors.toSet())); }