/// <summary>
        /// Builds an answer connections collection that can be used
        /// to connect question's answer together
        /// </summary>
        public static AnswerConnectionsCollection CreateSubscriberItemCollection(int questionId)
        {
            AnswerConnectionsCollection connectionss = new AnswerConnectionsCollection();

            foreach (AnswerConnectionData.AnswerConnectionsRow row in new Questions().GetQuestionAnswerConnections(questionId).AnswerConnections)
            {
                connectionss.Add(Create(row.PublisherAnswerId, row.SubscriberAnswerId));
            }
            return(connectionss);
        }
 /// <summary>
 /// Subscribe the answer items which require it to the correct
 /// answer publisher controls defined as defined by the Subscriber collection
 /// </summary>
 public static void ActivateAnswerConnections(AnswerConnectionsCollection answerConnections, AnswerItemCollection answers)
 {
     foreach (AnswerConnection connection in answerConnections)
     {
         IAnswerSubscriber answerItem = GetAnswerItem(answers, connection.SubscriberId) as IAnswerSubscriber;
         if (answerItem != null)
         {
             AnswerItem item2 = GetAnswerItem(answers, connection.PublisherId);
             if ((item2 != null) && (item2 is IAnswerPublisher))
             {
                 item2.AnswerPublished        += new AnswerPublisherEventHandler(answerItem.ProcessPublishedAnswers);
                 item2.AnswerPublisherCreated += new AnswerPublisherEventHandler(answerItem.PublisherCreation);
             }
         }
     }
 }