internal QueueEntry[] GetMyEntries(string name)
    {
        VisitorQueue             dsQueue = new VisitorQueue();
        VisitorQueueTableAdapter ad1     = new VisitorQueueTableAdapter();

        ad1.Fill(dsQueue.Queue, name);

        List <QueueEntry> entries = new List <QueueEntry>();

        foreach (VisitorQueue.QueueRow row in dsQueue.Queue)
        {
            entries.Add(CreateQueueEntry(row));
        }

        return(entries.ToArray());
    }
        /// <summary>
        /// Retrieves all of the constraints associated with a generic type.
        /// </summary>
        public static LinkList <Constraint> GetConstraints(Type argument, out Assembly[] referencedAssemblies)
        {
            Debug.Assert(argument != null);
            Debug.Assert(argument.IsGenericParameter);

            var constraints = new List <Constraint>( );
            var references  = new HashSet <Assembly>( );


            // Add derivation constraints (i.e. "T : Class, Interface, Generic<T>, ...").
            foreach (Type baseType in argument.GetGenericParameterConstraints( ))
            {
                var baseTypeConstraint = Constraint.GetInheritanceConstraint(baseType, false);
                constraints.Add(baseTypeConstraint);
                references.Add(baseType.Assembly);
            }


            // Add argument usage constraints (i.e. "U : IEnumerable<T>"; "Method<T>( Argument<T> arg )"; etc)
            //  if there are no derivation constraints.
            if (constraints.Count == 0)
            {
                var initialPotentials =
                    argument.DeclaringMethod != null
                        ? argument.DeclaringMethod
                    .GetParameters( )
                    .Select((p) => p.ParameterType)
                    .Concat(argument.DeclaringMethod.GetGenericArguments( ))
                        : argument.DeclaringType.GetGenericArguments( );

                var potentialUsageTypes = new VisitorQueue <Type>(initialPotentials);

                foreach (Type usageType in potentialUsageTypes)
                {
                    Type[] usageTypeArguments = usageType.GetGenericArguments( );
                    potentialUsageTypes.AddRange(usageTypeArguments);

                    if (usageTypeArguments.Contains(argument))
                    {
                        constraints.Add(Constraint.GetInheritanceConstraint(usageType, true));
                        references.Add(usageType.Assembly);
                    }
                }
            }


            // Add keyword constraints (i.e. "T : class, struct, new( )").
            var attributes = argument.GenericParameterAttributes;

            if ((attributes & GenericParameterAttributes.ReferenceTypeConstraint) != 0)
            {
                constraints.Add(ReferenceTypeConstraint);
            }
            if ((attributes & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0)
            {
                constraints.Add(NonNullableValueTypeConstraint);
            }
            if ((attributes & GenericParameterAttributes.DefaultConstructorConstraint) != 0)
            {
                constraints.Add(DefaultConstructorConstraint);
            }


            referencedAssemblies = new Assembly[references.Count];
            references.CopyTo(referencedAssemblies);
            return(constraints.ToLinkList( ));
        }