### Question:
QueryPlaceholderHandler implements PlaceholderHandler { @Override public void alterLogicalPlan(Object[] placeholderValues) { filterItemIndex = 0; this.placeholderValues = placeholderValues; setPlaceholderValue(whereClause); } QueryPlaceholderHandler(LogicalPlan logicalPlan); @Override void setPlaceholderIndex(); @Override void setPlaceholderIndex(TreeNode node); @Override void alterLogicalPlan(Object[] placeholderValues); @Override void setPlaceholderValue(TreeNode node); @Override boolean isIndexListEmpty(); @Override int getIndexListCount();  }### Answer:
@Test public void testAlterLogicalPlan() { System.out.println(placeholderValues.length); placeholderValues[0] = 1234; placeholderValues[1] = "abcd"; handler.alterLogicalPlan(placeholderValues); IdentifierNode ident = handler.whereClause.getChildNode(0).getChildNode(0).getChildNode(0) .getChildType(IdentifierNode.class, 0); assertEquals(String.valueOf(1234), ident.getValue()); }