@Override public <G extends FulfillmentOption> CreateResponse<G> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<G> createResponse = context.createOrRetrieveCopyInstance(this); if (createResponse.isAlreadyPopulated()) { return createResponse; } FulfillmentOption cloned = createResponse.getClone(); cloned.setFulfillmentType(getFulfillmentType()); cloned.setName(name); cloned.setTaxCode(taxCode); cloned.setUseFlatRates(useFlatRates); cloned.setTaxable(taxable); cloned.setLongDescription(longDescription); return createResponse; }