/**
  * Wrap.
  *
  * @param entry the entry
  * @return the view entry
  */
 public static ViewEntry wrap(final lotus.domino.ViewEntry entry) {
   try {
     Object parent = entry.getParent();
     lotus.domino.View view;
     if (parent instanceof lotus.domino.ViewEntryCollection) {
       view = ((lotus.domino.ViewEntryCollection) parent).getParent();
     } else if (parent instanceof lotus.domino.ViewNavigator) {
       view = ((lotus.domino.ViewNavigator) parent).getParentView();
     } else {
       view = (lotus.domino.View) parent;
     }
     lotus.domino.Database db = view.getParent();
     Session session = Factory.fromLotus(db.getParent(), Session.class, null);
     Database wrappedDB = Factory.fromLotus(db, Database.class, session);
     View wrappedView = Factory.fromLotus(view, View.class, wrappedDB);
     if (parent instanceof lotus.domino.ViewEntryCollection) {
       ViewEntryCollection vec =
           Factory.fromLotus((lotus.domino.Base) parent, ViewEntryCollection.class, wrappedView);
       return Factory.fromLotus(entry, ViewEntry.class, vec);
     } else if (parent instanceof lotus.domino.ViewNavigator) {
       ViewNavigator vnav =
           Factory.fromLotus((lotus.domino.Base) parent, ViewNavigator.class, wrappedView);
       return Factory.fromLotus(entry, ViewEntry.class, vnav);
     } else {
       return Factory.fromLotus(entry, ViewEntry.class, wrappedView);
     }
   } catch (lotus.domino.NotesException ne) {
     return null;
   }
 }
 public boolean hasAccess(Definition def, Database ndbSource) {
   try {
     String strUser = ndbSource.getParent().getEffectiveUserName();
     return hasAccess(
         def, RoleAndGroupProvider.getInstance().getGroupsAndRolesOf(strUser, ndbSource));
   } catch (Exception e) {
     e.printStackTrace();
   }
   return false;
 }
 /**
  * Gets the current database.
  *
  * @return the current database
  */
 public static Database getCurrentDatabase() {
   try {
     lotus.domino.Database db = (lotus.domino.Database) resolveVariable("database");
     Session session = Factory.fromLotus(db.getParent(), Session.class, null);
     return Factory.fromLotus(db, Database.class, session);
   } catch (Exception ne) {
     DominoUtils.handleException(ne);
     return null;
   }
 }
 /**
  * Wrap.
  *
  * @param doc the doc
  * @return the document
  */
 public static Document wrap(final lotus.domino.Document doc) {
   try {
     lotus.domino.Database db = doc.getParentDatabase();
     Session session = Factory.fromLotus(db.getParent(), Session.class, null);
     Database wrappedDB = Factory.fromLotus(db, Database.class, session);
     return Factory.fromLotus(doc, Document.class, wrappedDB);
   } catch (lotus.domino.NotesException ne) {
     return null;
   }
 }