/** {@inheritDoc} */ @Override public TableLayoutDesc apply(final FijiTableLayout refLayout) { Preconditions.checkNotNull(refLayout); try { final TableLayoutDesc refDesc = refLayout.getDesc(); return new TableLayoutBuilder(refDesc, fiji) .withLayoutId(nextLayoutId(refDesc.getLayoutId())) .withWriter(column, writerSchema) .withWritten(column, writerSchema) .build(); } catch (InvalidLayoutException ile) { LOG.error("Internal error while updating table layout in DEVELOPER mode: {}", ile); throw new InternalFijiError(ile); } catch (IOException ioe) { LOG.error("I/O error while updating table layout in DEVELOPER mode: {}", ioe); throw new FijiIOException(ioe); } } };