Argument<?> keyArgument = context.getTypeVariable("K").orElse(Argument.of(String.class, "K")); boolean isProperties = targetType.equals(Properties.class); Argument<?> valArgument = context.getTypeVariable("V").orElseGet(() -> { if (isProperties) { return Argument.of(String.class, "V");