public function getImplementorMap($interface, $baseClass = null)
    {
        // Create Map Array:
        
        $map = [];
        
        // Define Base Class (if none given):
        
        if (!$baseClass) {
            $baseClass = SiteTree::class;
        }
        
        // Obtain Implementors:
        
        if ($implementors = ClassInfo::implementorsOf($interface)) {
            
            // Filter Implementors:
            
            $records = $baseClass::get()->filter([
                'ClassName' => $implementors
            ])->sort('ClassName');
            
            // Define Map Array:
            
            foreach ($records as $record) {
                $map[$record->ID] = sprintf(
                    '%s (%s)',
                    $record->hasMethod('NestedTitle') ? $record->NestedTitle(5, ' > ') : $record->Title,
                    $record->i18n_singular_name()
                );
            }
            
        }
        
        // Answer Map Array:
        
        return $map;
    }