src/main/java/com/googlecode/objectify/impl/PropertyPopulator.java
@Override
	public void save(final P onPojo, boolean index, final SaveContext ctx, final Path containerPath, final FullEntity.Builder<?> into) {
		if (property.isSaved(onPojo)) {
			// Look for an override on indexing
			final Boolean propertyIndexInstruction = property.getIndexInstruction(onPojo);
			if (propertyIndexInstruction != null)
				index = propertyIndexInstruction;

			@SuppressWarnings("unchecked")
			final P value = (P)property.get(onPojo);
			try {
				final Path propPath = containerPath.extend(property.getName());
				final Value<D> propValue = translator.save(value, index, ctx, propPath);

				into.set(property.getName(), propValue);
			}
			catch (SkipException ex) {
				// No problem, do nothing
			}
		}
	}
@Override
	public void save(final P onPojo, boolean index, final SaveContext ctx, final Path containerPath, final FullEntity.Builder<?> into) {
		if (property.isSaved(onPojo)) {
			// Look for an override on indexing
			final Boolean propertyIndexInstruction = property.getIndexInstruction(onPojo);
			if (propertyIndexInstruction != null)
				index = propertyIndexInstruction;

			@SuppressWarnings("unchecked")
			final P value = (P)property.get(onPojo);
			try {
				final Path propPath = containerPath.extend(property.getName());
				final Value<D> propValue = translator.save(value, index, ctx, propPath);

				into.set(property.getName(), propValue);
			}
			catch (SkipException ex) {
				// No problem, do nothing
			}
		}
	}
Gets the appropriate field value from the pojo and puts it in the container at the appropriate prop name
and with the appropriate indexing.
@param onPojo is the parent pojo which holds the property we represent
@param index is the default state of indexing up to this point
@param containerPath is the path to the container; each property will extend this path.