code: @SuppressWarnings("unchecked")
  	@Override
  	public Integer execute() {
  		logger.fine("Executing [AppEngineUpdate] command");
  		
  		if (properties.size() == 0) {
  			throw new IllegalStateException("'properties' must be set");
  		}
  		
  		GetList<E> command = session.get(metamodel);
  		
  		if (filters != null) {
  			command.filter(filters.toArray(new Filter<?>[] {}));
  		}
  		
  		int i = 0;
  		
  		for (E entity : command.execute()) {
  			for (Property<?, ?> property : properties.keySet()) {
  				Object object = properties.get(property);
  				
  				if (object instanceof Modification) {
  					Modification<Object> modification = (Modification<Object>) object;
  					((Property<E, ?>) property).set(entity, modification.apply(property.get(entity)));
  				} else {
  					((Property<E, ?>) property).set(entity, object);
  				}
  			}
  			
  			session.update(entity);
  			i++;
  		}
  		
  		return i;
  	}
docs: Executes {@code AppEngineUpdate} with {@code AppEngineDatastoreSession}.
  
  @return The number of updated entity.