### Question:
WhereClausePartUtil implements IWhereClausePartUtil { @Override public String createWhereClause( List<IWhereClausePart> whereClauseParts) { StringBuilder sb = new StringBuilder(""); for (IWhereClausePart whereClausePart : whereClauseParts) { if(whereClausePart.shouldBeUsed()){ whereClausePart.appendToClause(sb); } } if(sb.length() > 0){ return sb.toString(); }else{ return null; } }  @Override String createWhereClause(
			List<IWhereClausePart> whereClauseParts); @Override int setParameters(PreparedStatement pstmt,
			List<IWhereClausePart> whereClauseParts, int firstPosition); @Override boolean hasUsableWhereClause(List<IWhereClausePart> whereClauseParts);  }### Answer:
@Test public void testCreateWhereClause(){ List<IWhereClausePart> parts = new ArrayList<IWhereClausePart>(); parts.add(nopWhereClause); parts.add(isNullWhereClause); parts.add(noParameterWhereClause); parts.add(parameterWhereClause); parts.add(anotherParameterWhereClause); String whereClause = whereClausePartUtil.createWhereClause(parts); assertEquals(" WHERE myCol is null AND myCol like 'ham%eggs' AND myCol = ? AND myCol = ?", whereClause); }