ActionWorkItemInsertWrapper extends ActionInsertFactWrapper implements ActionWorkItemWrapper { private ActionWorkItemInsertFactCol52 clone(final ActionWorkItemInsertFactCol52 column) { final ActionWorkItemInsertFactCol52 clone = new ActionWorkItemInsertFactCol52(); clone.setFactField(column.getFactField()); clone.setBoundName(column.getBoundName()); clone.setValueList(column.getValueList()); clone.setHeader(column.getHeader()); clone.setInsertLogical(column.isInsertLogical()); clone.setDefaultValue(column.getDefaultValue()); clone.setFactType(column.getFactType()); clone.setHideColumn(column.isHideColumn()); clone.setType(column.getType()); clone.setParameterClassName(column.getParameterClassName()); clone.setWorkItemName(column.getWorkItemName()); clone.setWorkItemResultParameterName(column.getWorkItemResultParameterName()); return clone; } ActionWorkItemInsertWrapper(final BaseDecisionTableColumnPlugin plugin,
                                       final ActionWorkItemInsertFactCol52 actionCol52);  ActionWorkItemInsertWrapper(final BaseDecisionTableColumnPlugin plugin); @Override List<BaseColumnFieldDiff> diff(final BaseColumn otherColumn); @Override String getWorkItemName(); @Override void setWorkItemName(final String workItemName); @Override String getWorkItemResultParameterName(); @Override void setWorkItemResultParameterName(final String workItemResultParameterName); @Override String getParameterClassName(); @Override void setParameterClassName(final String parameterClassName); @Override void setFactType(final String factType); @Override ActionWorkItemInsertFactCol52 getActionCol52();  }
@Test public void testClone() throws Exception { final ActionWorkItemInsertFactCol52 column = new ActionWorkItemInsertFactCol52(); column.setFactField("factField"); column.setBoundName("boundName"); column.setValueList("valueList"); column.setHeader("header"); column.setInsertLogical(false); column.setDefaultValue(new DTCellValue52("defaultValue")); column.setFactType("factType"); column.setHideColumn(false); column.setType("type"); column.setParameterClassName("parameterClassName"); column.setWorkItemName("workItemName"); column.setWorkItemResultParameterName("workItemResultParameterName"); final ActionWorkItemInsertWrapper wrapper = new ActionWorkItemInsertWrapper(plugin, column); final ActionWorkItemInsertFactCol52 clone = wrapper.getActionCol52(); assertEquals("factField", column.getFactField()); assertEquals("boundName", column.getBoundName()); assertEquals("valueList", column.getValueList()); assertEquals("header", column.getHeader()); assertEquals(false, column.isInsertLogical()); assertEquals(new DTCellValue52("defaultValue"), column.getDefaultValue()); assertEquals("factType", column.getFactType()); assertEquals(false, column.isHideColumn()); assertEquals("type", column.getType()); assertEquals("parameterClassName", column.getParameterClassName()); assertEquals("workItemName", column.getWorkItemName()); assertEquals("workItemResultParameterName", column.getWorkItemResultParameterName()); assertNotSame(column, clone); }