Assert.notNull(gemstone.getName(), "The name of the Gemstone must be specified!");
// NOTE deliberately (naively) validate the Gemstone after mutating data access in
// GemFire rather than before
// to demonstrate transactions in GemFire.
Gemstone savedGemstone = validate(this.gemstoneRepo.save(gemstone));
Assert.state(savedGemstone.equals(get(gemstone.getId())), String.format(
"Failed to find Gemstone (%1$s) in GemFire's Cache Region 'Gemstones'!",
gemstone));
System.out.printf("Saved Gemstone (%1$s)%n", savedGemstone.getName());
return gemstone;
}