public Sample build() { checkArgument(project != null, "A Project must be provided to create a Sample."); checkArgument(!LimsUtils.isStringEmptyOrNull(sampleType), "Must provide a sampleType to create a Sample"); checkArgument(!LimsUtils.isStringEmptyOrNull(scientificName), "Must provide a scientificName to create a Sample"); checkArgument(rootSampleClass != null, "A root SampleClass must be provided to create an Identity Sample."); log.debug("Create an Identity Sample."); SampleIdentityImpl i = new SampleIdentityImpl(); i.setName(name); i.setAlias(alias); i.setSampleClass(rootSampleClass); i.setVolume(volume); i.setDescription(description); i.setSampleType(sampleType); i.setProject(project); i.setScientificName(scientificName); i.setExternalName(externalName); i.setDonorSex(donorSex); i.setConsentLevel(consentLevel); i.inheritPermissions(project); return i; }