code: public Set<I_CmsPrincipal> readResponsiblePrincipals(CmsDbContext dbc, CmsResource resource) throws CmsException {
  
          Set<I_CmsPrincipal> result = new HashSet<I_CmsPrincipal>();
          Iterator<CmsAccessControlEntry> aces = getAccessControlEntries(dbc, resource, true).iterator();
          while (aces.hasNext()) {
              CmsAccessControlEntry ace = aces.next();
              if (ace.isResponsible()) {
                  I_CmsPrincipal p = lookupPrincipal(dbc, ace.getPrincipal());
                  if (p != null) {
                      result.add(p);
                  }
              }
          }
          return result;
      }
docs: Returns the set of users that are responsible for a specific resource.<p>
  
  @param dbc the current database context
  @param resource the resource to get the responsible users from
  
  @return the set of users that are responsible for a specific resource
  
  @throws CmsException if something goes wrong