docs: TableMapping generate(TableMetaData tableMetaData, ClassLoader classLoader) {
  
          try {
              String className = packageName + "." + naming.createClassName(tableMetaData.getTableRef());
              LOGGER.info(String.format("Mapping table %s to %s", tableMetaData.getTableRef(), className));
              TableMapping result = new TableMapping(tableMetaData);
              CtClass ctClass = pool.makeClass(className);
              for (ColumnMetaData ai : tableMetaData.getColumnMetaData()) {
                  generatePropertyForAttribute(result, ctClass, ai);
              }
              Class<?> clazz = loadClass(classLoader, ctClass);
              result.setGeneratedClass(clazz);
              return result;
          } catch (CannotCompileException e) {
              throw new RuntimeException("Problem generating class for table " + tableMetaData.getTableRef(), e);
          }
  
      }