public synchronized Subject getSubject(final Long userId) {
    List<Subject> subjects = uniqueIdVsSubjects.get(userId);
    if (subjects == null || subjects.isEmpty()) {
      return null;
    }
    return subjects.get(0);
  }
This is per ServerConnection or per CacheClientProxy, corresponding to only one client
connection.
Credentials should usually be just one, only multiple in multi-user case.
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUserAuths.java