code: @Override
      public Object find(Class entityClass, Object key)
      {
          EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass);
          GetResponse get = null;
  
          MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata()
                  .getMetamodel(metadata.getPersistenceUnit());
  
          EntityType entityType = metaModel.entity(metadata.getEntityClazz());
  
          String keyAsString = getKeyAsString(key, metadata, metaModel);
          try
          {
              get = txClient.prepareGet(metadata.getSchema().toLowerCase(), metadata.getTableName(), keyAsString)
                      .setOperationThreaded(false).execute().get();
          }
          catch (InterruptedException iex)
          {
              logger.error("Error while find record of {}, Caused by :.", entityClass.getSimpleName(), iex);
              throw new PersistenceException(iex);
          }
          catch (ExecutionException eex)
          {
              logger.error("Error while find record of {}, Caused by :.", entityClass.getSimpleName(), eex);
              throw new PersistenceException(eex);
          }
  
          Map<String, Object> results = get.getSource();
  
          Object result = null;
  
          if (get.isExists())
          {
              result = KunderaCoreUtils.createNewInstance(entityClass);
              PropertyAccessorHelper.setId(result, metadata, key);
              result = esResponseReader.wrapFindResult(results, entityType, result, metadata, true);
          }
  
          return result;
      }
docs: /*
  (non-Javadoc)
  
  @see com.impetus.kundera.client.Client#find(java.lang.Class,
  java.lang.Object)