@Override public <E> Table<E> getTable(String name, Class<E> elementType) { // TODO: check elementType matches table.elementType assert elementType != null; Table<E> table = super.getTable(name, elementType); if (table != null) { return table; } // TODO: make thread safe! Table<E> sourceTable = sourceSchema.getTable(name, elementType); if (sourceTable != null) { //noinspection unchecked return createCloneTable(sourceTable, name); } return null; }