RangerAuditFields { public <T extends XXDBBase, PARENT extends XXDBBase> T populateAuditFields(T xObj, PARENT parentObj) { xObj.setCreateTime(parentObj.getCreateTime()); xObj.setUpdateTime(parentObj.getUpdateTime()); xObj.setAddedByUserId(parentObj.getAddedByUserId()); xObj.setUpdatedByUserId(parentObj.getUpdatedByUserId()); return xObj; }  T populateAuditFields(T xObj, PARENT parentObj); T populateAuditFieldsForCreate(T xObj);  }
@Test public void test1PopulateAuditFields() { rangerAuditFields.populateAuditFields(XXDBBase, XXDBBase); }