}
// Get the user information
GetUserInfoResult userInfo = conn.getUserInfo();
ObjectFilter objectFilter = getObjectFilter();
assert objectFilter != null;
FieldFilter fieldFilter = getFieldFilter();
assert fieldFilter != null;
Template template = getTemplate();
assert template != null;
TemplateInjector templateInjector = getTemplateInjector();
assert templateInjector != null;
WriterProvider writerProvider = getWriterProvider(destDir);
assert writerProvider != null;
// Write filtered data to the template
int numGeneratedCode = 0;
for (DescribeSObjectResult dsr : objectFilter.filter(allOrgObjects)) {
// Before we write a new source file, make sure the template is reset
template.reset();
// Inject the data into the template
templateInjector.inject(userInfo, dsr, fieldFilter.filter(dsr), template);