class ClassFactBuilder extends BaseFactBuilder {

    @Override
    public void build(final ModuleDataModelOracleImpl oracle) {
        super.build(oracle);
        oracle.addModuleMethodInformation(methodInformation);
        oracle.addModuleFieldParametersType(fieldParametersType);
        oracle.addModuleSuperTypes(buildSuperTypes());
        oracle.addModuleTypeAnnotations(buildTypeAnnotations());
        oracle.addModuleTypeFieldsAnnotations(buildTypeFieldsAnnotations());
    }

    public  ClassFactBuilder(final ModuleDataModelOracleBuilder builder,
                            final Class<?> clazz,
                            final boolean isEvent,
                            final Function<String, TypeSource> typeSourceResolver);
    public  ClassFactBuilder(final ModuleDataModelOracleBuilder builder,
                            final Map<String, FactBuilder> discoveredFieldFactBuilders,
                            final Class<?> clazz,
                            final boolean isEvent,
                            final Function<String, TypeSource> typeSourceResolver);

}