MetaDataColumnSynchronizer extends BaseColumnSynchronizer<BaseColumnSynchronizer.ColumnMetaData, BaseColumnSynchronizer.ColumnMetaData, BaseColumnSynchronizer.ColumnMetaData> { @Override public void append(final BaseColumnSynchronizer.ColumnMetaData metaData) throws VetoException { if (!handlesAppend(metaData)) { return; } final MetadataCol52 column = (MetadataCol52) metaData.getColumn(); model.getMetadataCols().add(column); synchroniseAppendColumn(column); }  @Override boolean handlesAppend(final MetaData metaData); @Override void append(final BaseColumnSynchronizer.ColumnMetaData metaData); @Override boolean handlesUpdate(final MetaData metaData); @Override List<BaseColumnFieldDiff> update(final BaseColumnSynchronizer.ColumnMetaData originalMetaData,
                                            final BaseColumnSynchronizer.ColumnMetaData editedMetaData); @Override boolean handlesDelete(final MetaData metaData); @Override void delete(final BaseColumnSynchronizer.ColumnMetaData metaData); @Override boolean handlesMoveColumnsTo(final List<? extends MetaData> metaData); @Override void moveColumnsTo(final List<MoveColumnToMetaData> metaData);  }
@Test public void testAppend() throws VetoException { final MetadataCol52 column = new MetadataCol52(); column.setMetadata("smurf"); modelSynchronizer.appendColumn(column); assertEquals(1, model.getMetadataCols().size()); assertEquals("smurf", model.getMetadataCols().get(0).getMetadata()); assertEquals(4, uiModel.getColumns().size()); assertEquals("smurf", uiModel.getColumns().get(3).getHeaderMetaData().get(0).getTitle()); }