private BuilderProperty varargs0(Property property, TypeName elementTypeName, String parameterName) { return BuilderProperty.methodBuilder(property) .addAnnotationIf(SUPPRESS_UNCHECKED, safeVarargs(elementTypeName)) .name() .addParameter(ArrayTypeName.of(elementTypeName), parameterName) .varargs() .nullCheck(parameterName) .statement( "$T $L = new $T<>($L.length)", ParameterizedTypeName.get(ClassName.get(collectionInterface()), elementTypeName), property.name(), collectionImplementation(), parameterName) .beginControlFlow("for (int i = 0; i < elements.length; i++)") .statement("$T e = $L[i]", elementTypeName, parameterName) .nullCheck("e") .statement("$L.add(e)", property.name()) .endControlFlow() .assignment("$T.$L($L)", Collections.class, unmodifiableMethodName(), property.name()) .build(); }
private BuilderProperty varargs0(Property property, TypeName elementTypeName, String parameterName) { return BuilderProperty.methodBuilder(property) .addAnnotationIf(SUPPRESS_UNCHECKED, safeVarargs(elementTypeName)) .name() .addParameter(ArrayTypeName.of(elementTypeName), parameterName) .varargs() .nullCheck(parameterName) .statement( "$T $L = new $T<>($L.length)", ParameterizedTypeName.get(ClassName.get(collectionInterface()), elementTypeName), property.name(), collectionImplementation(), parameterName) .beginControlFlow("for (int i = 0; i < elements.length; i++)") .statement("$T e = $L[i]", elementTypeName, parameterName) .nullCheck("e") .statement("$L.add(e)", property.name()) .endControlFlow() .assignment("$T.$L($L)", Collections.class, unmodifiableMethodName(), property.name()) .build(); }