docs: @Override
      public T findById(ID id)
              throws NoSuchItemException, JeppettoException {
          GetItemResult result;
  
          try {
              GetItemRequest getItemRequest = new GetItemRequest(tableName, getKeyFrom(id), consistentRead);
  
              getItemRequest.setProjectionExpression(projectionExpression);
  
              if (!projectionExpressionNames.isEmpty()) {
                  getItemRequest.setExpressionAttributeNames(projectionExpressionNames);
              }
  
              result = dynamoDB.getItem(getItemRequest);
          } catch (AmazonClientException e) {
              throw new JeppettoException(e);
          }
  
          if (result.getItem() == null) {
              throw new NoSuchItemException(entityClass.getSimpleName(), id.toString());
          }
  
          T t = ConversionUtil.getObjectFromItem(result.getItem(), entityClass);
  
          ((DynamoDBPersistable) t).__markPersisted(dynamoDB.toString());
  
          return t;
      }