Refactor para usar el patrón de constructor o el patrón de constructor telescópico

De acuerdo con Java 2ed eficaz Artículo 2

telescoping constructor pattern, en el que proporciona un constructor con solo los parámetros requeridos, otro con un único parámetro opcional, un tercero con dos parámetros opcionales, y así sucesivamente, culminando en un constructor con todos los parámetros opcionales.

Un ejemplo de constructores de la clase que aplican este patrón se toma prestado de ¿Cuándo usarías el Patrón de construcción?

code set 1a

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon) { ... }

size es unanecesari parámetro. queso, pepperoni y tocino sonOpciona parámetros. Suponiendo que me gustaría proporcionar el constructor como a continuación.

code set 1b

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon, int price, int) { ... }

Otro ejemplo es que

code set 2

public AttributeKey(String key, Class<T> clazz)
public AttributeKey(String key, Class<T> clazz) 
public AttributeKey(String key, Class<T> clazz, @Nullable T defaultValue, boolean isNullValueAllowed)
public AttributeKey(String key, Class<T> clazz, @Nullable T defaultValue, boolean isNullValueAllowed, @Nullable ResourceBundleUtil labels)

Lostwo último ejemplo Di no siguió la característica del constructor telescópico como el conjunto de códigos 1a hizo

¿Están incluidos los conjuntos de códigos 1b y 2 en el constructor telescópico? si no, ¿cómo se llama?n comparación con el uso del patrón de generador, cuál (entre el generador y el patrón del conjunto de códigos 1a, 2) proporciona más beneficios

Respuestas a la pregunta(2)

Su respuesta a la pregunta