public static TermsOfUseAccessRequirement newAccessRequirement(UserGroup principal, Node node) throws DatastoreException { TermsOfUseAccessRequirement accessRequirement = new TermsOfUseAccessRequirement(); accessRequirement.setCreatedBy(principal.getId()); accessRequirement.setCreatedOn(new Date()); accessRequirement.setModifiedBy(principal.getId()); accessRequirement.setModifiedOn(new Date()); accessRequirement.setEtag("10"); accessRequirement.setAccessType(ACCESS_TYPE.DOWNLOAD); accessRequirement.setEntityIds( Arrays.asList( new String[] { node.getId(), node.getId() })); // test that repeated IDs doesn't break anything accessRequirement.setEntityType("com.sagebionetworks.repo.model.TermsOfUseAccessRequirements"); return accessRequirement; }