code: @SuppressWarnings("PMD.AvoidProtectedMethodInFinalClassNotExtending")
      protected static Type[] resolveTypeVariables(final Type[] types,
                                                   final Map<String, Type> generics,
                                                   final boolean countPreservedVariables) {
          if (types.length == 0) {
              return NO_TYPES;
          }
          final Type[] resolved = new Type[types.length];
          for (int i = 0; i < types.length; i++) {
              resolved[i] = resolveTypeVariables(types[i], generics, countPreservedVariables);
          }
          return resolved;
      }
docs: for TypeVariableUtils access