[SecurityCritical]
private ResourceSet InternalGetResourceSet(CultureInfo requestedCulture, bool createIfNotExists, bool tryParents, ref StackCrawlMark stackMark)
{
    Dictionary<string, ResourceSet> localResourceSets = this._resourceSets;
    ResourceFallbackManager manager = new ResourceFallbackManager(requestedCulture, this._neutralResourcesCulture, tryParents);
    ResourceSet set = null;
    CultureInfo info = null;
    foreach (CultureInfo info2 in manager)
    {
        if (FrameworkEventSource.IsInitialized)
        {
            FrameworkEventSource.Log.ResourceManagerLookingForResourceSet(this.BaseNameField, this.MainAssembly, info2.Name);
        }
        lock (localResourceSets)
        {
            if (localResourceSets.TryGetValue(info2.Name, out set))
            {
                if (FrameworkEventSource.IsInitialized)
                {
                    FrameworkEventSource.Log.ResourceManagerFoundResourceSetInCache(this.BaseNameField, this.MainAssembly, info2.Name);
                }
                break;
            }
        }
        set = this.resourceGroveler.GrovelForResourceSet(info2, localResourceSets, tryParents, createIfNotExists, ref stackMark);
        if (set != null)
        {
            info = info2;
            break;
        }
    }
    if ((set != null) && (info != null))
    {
        foreach (CultureInfo info3 in manager)
        {
            AddResourceSet(localResourceSets, info3.Name, ref set);
            if (info3 == info)
            {
                return set;
            }
        }
    }
    return set;
}

Add a code snippet to your website: www.paste.org