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;
 }