### Question:
MsoTenantAdapterImpl implements MsoTenantAdapter { @Override public void queryTenant(String cloudSiteId, String tenantNameOrId, MsoRequest msoRequest, Holder<String> tenantId, Holder<String> tenantName, Holder<Map<String, String>> metadata) throws TenantException { logger.debug("Querying Tenant {} in {}", tenantNameOrId, cloudSiteId); MsoTenantUtils tUtils; try { tUtils = tFactory.getTenantUtils(cloudSiteId); } catch (MsoCloudSiteNotFound me) { logger.error("{} {} no implementation found for {}: ", MessageEnum.RA_CREATE_TENANT_ERR, ErrorCode.DataError.getValue(), cloudSiteId, me); throw new TenantException(me); } MsoTenant qTenant = null; try { qTenant = tUtils.queryTenant(tenantNameOrId, cloudSiteId); if (qTenant == null) { qTenant = tUtils.queryTenantByName(tenantNameOrId, cloudSiteId); } if (qTenant == null) { logger.debug("QueryTenant: Tenant {} not found", tenantNameOrId); tenantId.value = null; tenantName.value = null; metadata.value = null; } else { logger.debug("QueryTenant: Tenant {} found with ID {}", tenantNameOrId, qTenant.getTenantId()); tenantId.value = qTenant.getTenantId(); tenantName.value = qTenant.getTenantName(); metadata.value = qTenant.getMetadata(); } } catch (MsoException me) { logger.error("Exception in queryTenant for {}: ", MessageEnum.RA_GENERAL_EXCEPTION, ErrorCode.DataError.getValue(), tenantNameOrId, me); throw new TenantException(me); } return; }  @Override void healthCheck(); @Override void createTenant(String cloudSiteId, String tenantName, Map<String, String> metadata, Boolean failIfExists,
            Boolean backout, MsoRequest msoRequest, Holder<String> tenantId, Holder<TenantRollback> rollback); @Override void queryTenant(String cloudSiteId, String tenantNameOrId, MsoRequest msoRequest, Holder<String> tenantId,
            Holder<String> tenantName, Holder<Map<String, String>> metadata); @Override void deleteTenant(String cloudSiteId, String tenantId, MsoRequest msoRequest, Holder<Boolean> tenantDeleted); @Override void rollbackTenant(TenantRollback rollback); static final String CREATE_TENANT; static final String OPENSTACK; static final String QUERY_TENANT; static final String DELETE_TENANT; static final String ROLLBACK_TENANT; }### Answer:
@Test(expected = NullPointerException.class) public void queryTenant() throws Exception { msoTenantAdapter.queryTenant("site", "tenant", new MsoRequest(), new Holder<>(), new Holder<>(), new Holder<>()); }