The name 'DimensionDefaultingEngine' does not designate a class or table

DimensionAttributeValue dimAttrValue;
List dimSources;
DimensionDefaultingEngine dimEng;
int i;

mainAccount = MainAccount::findByMainAccountId(
_mainAccountId);

if (!mainAccount.RecId)
{
return 0;
}

select firstOnly RecId from dimHier
where dimHier.StructureType ==
DimensionHierarchyType::AccountStructure
&& dimHier.IsDraft == NoYes::No
exists join ledgerStruct
where ledgerStruct.Ledger == Ledger::current()
&& ledgerStruct.DimensionHierarchy == dimHier.RecId;
if (!dimHier.RecId)
{
return 0;
}

dimSpec = DimensionDefaultingEngine::createEmptyDimensionSpecifiers();