### Question:
ImputeVisitor implements MultiVisitor<double[]> { @Override public MultiVisitor<double[]> newCopy() { return new ImputeVisitor(this); } ImputeVisitor(double[] queryPoint, int numberOfMissingValues, int[] missingIndexes);   ImputeVisitor(ImputeVisitor original); double getRank(); void accept(final Node node, final int depthOfNode); @Override void acceptLeaf(final Node leafNode, final int depthOfNode); @Override double[] getResult(); @Override boolean trigger(final Node node); @Override MultiVisitor<double[]> newCopy(); @Override void combine(MultiVisitor<double[]> other);  }### Answer:
@Test public void testNewCopy() { ImputeVisitor copy = (ImputeVisitor) visitor.newCopy(); assertArrayEquals(queryPoint, copy.getResult()); assertNotSame(copy.getResult(), visitor.getResult()); assertEquals(10.0, visitor.getRank()); }