//Receive from Client side
 public static void RequestOpenPageValue(ulong PageID, uint SentenceID, bool IsSentence, bool iskey)
 {
     //if ( client authorised )
     if (Librarian.IDToPage.ContainsKey(PageID))
     {
         Librarian.Page Page = Librarian.IDToPage[PageID];
         Librarian.Book book;
         if (!IsSentence)
         {
             MonoBehaviour _MonoBehaviour = Page.Variable as MonoBehaviour;
             if (_MonoBehaviour == null)
             {
                 if ((Page.Variable as string) == "null")
                 {
                     Logger.LogWarning("Trying to process page value as book PageID > " + PageID, Category.VariableViewer);
                     return;
                 }
                 book = Librarian.GenerateNonMonoBook(Page.Variable);
                 SendBookToClient(book);
             }
             else
             {
                 book = Librarian.PartialGeneratebook(_MonoBehaviour);
                 book = Librarian.PopulateBook(book);
                 SendBookToClient(book);
             }
         }
         else
         {
             if (iskey)
             {
                 book = Librarian.GenerateNonMonoBook(Page.IDtoSentence[SentenceID].KeyVariable);
                 SendBookToClient(book);
             }
             else
             {
                 book = Librarian.GenerateNonMonoBook(Page.IDtoSentence[SentenceID].ValueVariable);
                 SendBookToClient(book);
             }
         }
     }
     else
     {
         Logger.LogError("Page ID has not been generated PageID > " + PageID, Category.VariableViewer);
     }
 }