code: public URBridgeEntity createObject(Entity entity, URBridge urBridge,
                                         Map<String, String> attrMap, String baseEntryName, Map<String, String> entityConfigMap) throws WIMException {
          String entityType = entity.getTypeName();
          URBridgeEntity obj = null;
  
          if (Service.DO_GROUP.equals(entityType)
              || Entity.getSubEntityTypes(Service.DO_GROUP).contains(entityType)) {
              obj = new URBridgeGroup(entity, urBridge, attrMap, baseEntryName, entityConfigMap);
          } else if (Service.DO_LOGIN_ACCOUNT.equals(entityType)
                     || Entity.getSubEntityTypes(Service.DO_LOGIN_ACCOUNT).contains(entityType)) {
              obj = new URBridgePerson(entity, urBridge, attrMap, baseEntryName, entityConfigMap);
          } else {
              throw new WIMApplicationException(WIMMessageKey.ENTITY_TYPE_NOT_SUPPORTED, Tr.formatMessage(tc, WIMMessageKey.ENTITY_TYPE_NOT_SUPPORTED,
                                                                                                          WIMMessageHelper.generateMsgParms(entityType)));
          }
          return obj;
      }
docs: Create a URBridgeEntity from input parameters. With inheritance this
  allows Users and Groups to be treated identically.
  
  @param entity The entity to be wrapped by the URBridgeEntity. This
  entity's type determines which type of OSEntityObject
  is created.
  @param urBridge The UserRegisty associated with the adapter.
  @param attrMap An attribute map containing the configuration information
  on how underlying UR attributes map to WIM attributes.
  @param baseEntryName The name of the baseEntry
  @return a URBridgeEntity that can be used to get and set properties
  of the entity.
  @throws WIMException The entity type passed in of not of type 'Person'
  or of type 'Group'.