public static void setEntityProperty(Entity entity, MetaData md, String propertyName, Object value) {
boolean unindexed = false;
String val = md.getValueForExtension(DatastoreManager.UNINDEXED_PROPERTY);
if (val != null && val.equalsIgnoreCase("true")) {
unindexed = true;
} else if (md instanceof VersionMetaData && ((VersionMetaData)md).getFieldName() != null) {
VersionMetaData vmd = (VersionMetaData)md;
AbstractMemberMetaData vermmd = ((AbstractClassMetaData)vmd.getParent()).getMetaDataForMember(vmd.getFieldName());
val = vermmd.getValueForExtension(DatastoreManager.UNINDEXED_PROPERTY);
unindexed = (val != null && val.equalsIgnoreCase("true"));
}
if (unindexed) {
entity.setUnindexedProperty(propertyName, value);
} else {
entity.setProperty(propertyName, value);
}
}