DatasetInfo setProjectId(String projectId) { Builder builder = toBuilder(); builder.datasetId(datasetId().setProjectId(projectId)); if (acl() != null) { List<Acl> acls = Lists.newArrayListWithCapacity(acl().size()); for (Acl acl : acl()) { if (acl.entity().type() == Acl.Entity.Type.VIEW) { Dataset.Access accessPb = acl.toPb(); TableReference viewReferencePb = accessPb.getView(); if (viewReferencePb.getProjectId() == null) { viewReferencePb.setProjectId(projectId); } acls.add(Acl.of(new Acl.View(TableId.fromPb(viewReferencePb)))); } else { acls.add(acl); } } builder.acl(acls); } return builder.build(); }