code: public static ResolvedType glb(Set<ResolvedType> types) {
          if (types.size() == 0) {
              throw new IllegalArgumentException();
          }
          if (types.size() == 1) {
              return types.iterator().next();
          }
          return new ResolvedIntersectionType(types);
      }
docs: See JLS 5.1.10. Capture Conversion.