internal static ADObjectSearcher GuidSearchFilterIdentityResolver(object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter) { useSearchFilter = true; if (identityObject != null) { Guid? nullable = null; string str = identityObject as string; if (string.IsNullOrEmpty(str) || !Utils.TryParseGuid(str, out nullable)) { if (!(identityObject is Guid)) { ADObject aDObject = identityObject as ADObject; if (aDObject != null) { Guid?objectGuid = aDObject.ObjectGuid; if (objectGuid.HasValue) { return(IdentityResolverMethods.BuildObjectGuidSearcher(aDObject.ObjectGuid, searchBase, cmdletSessionInfo)); } } return(null); } else { return(IdentityResolverMethods.BuildObjectGuidSearcher(new Guid?((Guid)identityObject), searchBase, cmdletSessionInfo)); } } else { return(IdentityResolverMethods.BuildObjectGuidSearcher(nullable, searchBase, cmdletSessionInfo)); } } else { throw new ArgumentNullException("identityObject"); } }