Dificuldade de entender a função de classes aninhadas estaticas nesse bloco de codigo

Saudações caros colegas programadores !!

Estou fazendo esse tópico por que tou com muita dificuldade pra entender uma aula de RecycleView do youtube.

A minha maior duvida é com relação a classe aninhada estática dentro do primeiro bloco de código. Por como ela é usada na classe Emails (segundo bloco), dá pra entender bem a função dela, o que eu não consegui entender, é o por que de usar esse método, ao invés dos classicos new, e ir setando valores, com esses getters e setters que ele estabeleceu na classe mãe.

Eu dei uma lida antes pra entender o que é classe estática aninhada, e pelo o que eu entendi, essas classes permitem que eu faça instâncias dela sem que eu faça uma instancia da sua classe mae antes

Mas no caso da classe em questão (Email) eu não entendi, por que ela é estática? e por que no bloco emails, eu simplesmente não uso a EmailBuilder.build() e já era?

Os códigos em questão são os seguinte

public class Email {
public String user;
public String subject;
public String preview;
public String date;
public boolean stared;
public boolean unreaded;
public boolean selected;

public String getUser() {
    return user;
}

public void setUser(String user) {
    this.user = user;
}

public String getSubject() {
    return subject;
}

public void setSubject(String subject) {
    this.subject = subject;
}

public String getPreview() {
    return preview;
}

public void setPreview(String preview) {
    this.preview = preview;
}

public String getDate() {
    return date;
}

public void setDate(String date) {
    this.date = date;
}

public boolean isStared() {
    return stared;
}

public void setStared(boolean stared) {
    this.stared = stared;
}

public boolean isUnreaded() {
    return unreaded;
}

public void setUnreaded(boolean unreaded) {
    this.unreaded = unreaded;
}

public boolean isSelected() {
    return selected;
}

public void setSelected(boolean selected) {
    this.selected = selected;
}

// A CLASSE EM QUESTÃO 
public static class EmailBuilder {
    private String user;
    private String subject;
    private String preview;
    private String date;
    private boolean stared;
    private boolean unreaded;
    private boolean selected;

    public EmailBuilder setUser(String user) {
        this.user = user;
        return this;
    }

    public EmailBuilder setSubject(String subject) {
        this.subject = subject;
        return this;
    }

    public EmailBuilder setPreview(String preview) {
        this.preview = preview;
        return this;
    }

    public EmailBuilder setDate(String date) {
        this.date = date;
        return this;
    }

    public EmailBuilder setStared(boolean stared) {
        this.stared = stared;
        return this;
    }

    public EmailBuilder setUnreaded(boolean unreaded) {
        this.unreaded = unreaded;
        return this;
    }

    public EmailBuilder setSelected(boolean selected) {
        this.selected = selected;
        return this;
    }

    private EmailBuilder(){}
    
    public static EmailBuilder builder(){
        return new EmailBuilder();
    }
    public Email build(){
        Email email = new Email();
        email.user = user;
        email.subject = subject;
        email.preview = preview;
        email.date = date;
        email.stared = stared;
        email.unreaded = unreaded;
        email.selected = selected;
        return email; 
    }

   }
}

E no criador de email

public static List<Email> fakeEmails(){
    return Arrays.asList(
            Email.EmailBuilder.builder()
                    .setUser("Thiaguinho")
                    .setSubject("bla bla bla bla")
                    .setDate("2 jan")
                    .build(),

            Email.EmailBuilder.builder()
                    .setUser("Xushow")
                    .setSubject("miau miau miau miau miau")
                    .setDate("25 dez")
                    .build(),

            Email.EmailBuilder.builder()
                    .setUser("Reinan")
                    .setSubject("Carai cuzão")
                    .setDate("25 dez")
                    .build(),

            Email.EmailBuilder.builder()
                    .setUser("Gegege")
                    .setSubject("O meu deus")
                    .setDate("11 jan")
                    .build(),

            Email.EmailBuilder.builder()
                    .setUser("Professor chatão")
                    .setSubject("Já terminou o trabalho?")
                    .setDate("11 jan")
                    .setStared(true)
                    .setUnreaded(true)
                    .build(),

            Email.EmailBuilder.builder()
                    .setUser("Fatec")
                    .setSubject("Tá fu*@! na minha mão")
                    .setDate("2 fev")
                    .setStared(true)
                    .setUnreaded(true)
                    .build()
    );
}