code: @SuppressWarnings("unchecked")
    private <T> T unmarshal() {
  
      try {
        instantiateEntity();
        unmarshalIdentifier();
        unmarshalKeyAndParentKey();
        unmarshalProperties();
        unmarshalEmbeddedFields();
        // If using Builder pattern, invoke build method on the Builder to
        // get the final entity.
        ConstructorMetadata constructorMetadata = entityMetadata.getConstructorMetadata();
        if (constructorMetadata.isBuilderConstructionStrategy()) {
          entity = constructorMetadata.getBuildMethodHandle().invoke(entity);
        }
        return (T) entity;
      } catch (EntityManagerException exp) {
        throw exp;
      } catch (Throwable t) {
        throw new EntityManagerException(t.getMessage(), t);
      }
    }
docs: Unmarshals the given Datastore Entity and returns the equivalent Entity POJO.
  
  @param <T>
  type
  @return the entity POJO