code: @Transactional
      public E get(E entity) {
          return entity == null ? null : getById(entity.getId());
      }
docs: Gets from the repository the E entity instance.
  <p>
  DAO for the local database will typically use the primary key or unique fields of the given entity, while DAO for external repository may use a unique
  field present in the entity as they probably have no knowledge of the primary key. Hence, passing the entity as an argument instead of the primary key
  allows you to switch the DAO more easily.
  
  @param entity an E instance having a primary key set
  @return the corresponding E persistent instance or null if none could be found.