code: private boolean isSubtypeUncheckedInternal(Type t, Type s, boolean capture, Warner warn) {
              if (t.hasTag(ARRAY) && s.hasTag(ARRAY)) {
                  if (((ArrayType)t).elemtype.isPrimitive()) {
                      return isSameType(elemtype(t), elemtype(s));
                  } else {
                      return isSubtypeUncheckedInternal(elemtype(t), elemtype(s), false, warn);
                  }
              } else if (isSubtype(t, s, capture)) {
                  return true;
              } else if (t.hasTag(TYPEVAR)) {
                  return isSubtypeUncheckedInternal(t.getUpperBound(), s, false, warn);
              } else if (!s.isRaw()) {
                  Type t2 = asSuper(t, s.tsym);
                  if (t2 != null && t2.isRaw()) {
                      if (isReifiable(s)) {
                          warn.silentWarn(LintCategory.UNCHECKED);
                      } else {
                          warn.warn(LintCategory.UNCHECKED);
                      }
                      return true;
                  }
              }
              return false;
          }
docs: where