src/main/java/com/googlecode/objectify/impl/KeyMetadata.java
public void setKey(final P pojo, final FullEntity<?> container, final LoadContext ctx, final Path containerPath) {
		if (container.contains(idMeta.getProperty().getName()))
			throw new IllegalStateException("Datastore has a property present for the id field " + idMeta.getProperty() + " which would conflict with the key: " + container);

		if (parentMeta != null && container.contains(parentMeta.getProperty().getName()))
			throw new IllegalStateException("Datastore has a property present for the parent field " + parentMeta.getProperty() + " which would conflict with the key: " + container);

		this.setKey(pojo, container.getKey(), ctx, containerPath);
	}
public void setKey(final P pojo, final FullEntity<?> container, final LoadContext ctx, final Path containerPath) {
		if (container.contains(idMeta.getProperty().getName()))
			throw new IllegalStateException("Datastore has a property present for the id field " + idMeta.getProperty() + " which would conflict with the key: " + container);

		if (parentMeta != null && container.contains(parentMeta.getProperty().getName()))
			throw new IllegalStateException("Datastore has a property present for the parent field " + parentMeta.getProperty() + " which would conflict with the key: " + container);

		this.setKey(pojo, container.getKey(), ctx, containerPath);
	}
Sets the key (from the container) onto the POJO id/parent fields. Also doublechecks to make sure
that the key fields aren't present in the container, which means we're in a very bad state.