class InitializerDeclaration extends BodyDeclaration<InitializerDeclaration> implements NodeWithJavadoc<InitializerDeclaration>, NodeWithBlockStmt<InitializerDeclaration> {

    private boolean isStatic;

    private BlockStmt body;

    public InitializerDeclaration() {
        this(null, false, new BlockStmt());
    }

    @AllFieldsConstructor
    public InitializerDeclaration(boolean isStatic, BlockStmt body) {
        this(null, isStatic, body);
    }

    /**
     * This constructor is used by the parser and is considered private.
     */
    @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
    public InitializerDeclaration(TokenRange tokenRange, boolean isStatic, BlockStmt body) {
        super(tokenRange);
        setStatic(isStatic);
        setBody(body);
        customInitialization();
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.AcceptGenerator")
    public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) {
        return v.visit(this, arg);
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.AcceptGenerator")
    public <A> void accept(final VoidVisitor<A> v, final A arg) {
        v.visit(this, arg);
    }

    @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
    public BlockStmt getBody() {
        return body;
    }

    @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
    public boolean isStatic() {
        return isStatic;
    }

    @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
    public InitializerDeclaration setBody(final BlockStmt body) {<FILL_FUNCTION_BODY>}

    @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
    public InitializerDeclaration setStatic(final boolean isStatic) {
        if (isStatic == this.isStatic) {
            return this;
        }
        notifyPropertyChange(ObservableProperty.STATIC, this.isStatic, isStatic);
        this.isStatic = isStatic;
        return this;
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.CloneGenerator")
    public InitializerDeclaration clone() {
        return (InitializerDeclaration) accept(new CloneVisitor(), null);
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator")
    public InitializerDeclarationMetaModel getMetaModel() {
        return JavaParserMetaModel.initializerDeclarationMetaModel;
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.ReplaceMethodGenerator")
    public boolean replace(Node node, Node replacementNode) {
        if (node == null) {
            return false;
        }
        if (node == body) {
            setBody((BlockStmt) replacementNode);
            return true;
        }
        return super.replace(node, replacementNode);
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
    public boolean isInitializerDeclaration() {
        return true;
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
    public InitializerDeclaration asInitializerDeclaration() {
        return this;
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
    public void ifInitializerDeclaration(Consumer<InitializerDeclaration> action) {
        action.accept(this);
    }

    @Override
    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
    public Optional<InitializerDeclaration> toInitializerDeclaration() {
        return Optional.of(this);
    }
}

        assertNotNull(body);
        if (body == this.body) {
            return this;
        }
        notifyPropertyChange(ObservableProperty.BODY, this.body, body);
        if (this.body != null)
            this.body.setParentNode(null);
        this.body = body;
        setAsParentNodeOf(body);
        return this;
    
<methods>public void <init>() ,public void <init>(NodeList<com.github.javaparser.ast.expr.AnnotationExpr>) ,public void <init>(com.github.javaparser.TokenRange, NodeList<com.github.javaparser.ast.expr.AnnotationExpr>) ,public com.github.javaparser.ast.body.AnnotationDeclaration asAnnotationDeclaration() ,public com.github.javaparser.ast.body.AnnotationMemberDeclaration asAnnotationMemberDeclaration() ,public CallableDeclaration#RAW asCallableDeclaration() ,public com.github.javaparser.ast.body.ClassOrInterfaceDeclaration asClassOrInterfaceDeclaration() ,public com.github.javaparser.ast.body.CompactConstructorDeclaration asCompactConstructorDeclaration() ,public com.github.javaparser.ast.body.ConstructorDeclaration asConstructorDeclaration() ,public com.github.javaparser.ast.body.EnumConstantDeclaration asEnumConstantDeclaration() ,public com.github.javaparser.ast.body.EnumDeclaration asEnumDeclaration() ,public com.github.javaparser.ast.body.FieldDeclaration asFieldDeclaration() ,public com.github.javaparser.ast.body.InitializerDeclaration asInitializerDeclaration() ,public com.github.javaparser.ast.body.MethodDeclaration asMethodDeclaration() ,public com.github.javaparser.ast.body.RecordDeclaration asRecordDeclaration() ,public TypeDeclaration#RAW asTypeDeclaration() ,public BodyDeclaration<?> clone() ,public NodeList<com.github.javaparser.ast.expr.AnnotationExpr> getAnnotations() ,public com.github.javaparser.metamodel.BodyDeclarationMetaModel getMetaModel() ,public void ifAnnotationDeclaration(Consumer<com.github.javaparser.ast.body.AnnotationDeclaration>) ,public void ifAnnotationMemberDeclaration(Consumer<com.github.javaparser.ast.body.AnnotationMemberDeclaration>) ,public void ifCallableDeclaration(Consumer<CallableDeclaration#RAW>) ,public void ifClassOrInterfaceDeclaration(Consumer<com.github.javaparser.ast.body.ClassOrInterfaceDeclaration>) ,public void ifCompactConstructorDeclaration(Consumer<com.github.javaparser.ast.body.CompactConstructorDeclaration>) ,public void ifConstructorDeclaration(Consumer<com.github.javaparser.ast.body.ConstructorDeclaration>) ,public void ifEnumConstantDeclaration(Consumer<com.github.javaparser.ast.body.EnumConstantDeclaration>) ,public void ifEnumDeclaration(Consumer<com.github.javaparser.ast.body.EnumDeclaration>) ,public void ifFieldDeclaration(Consumer<com.github.javaparser.ast.body.FieldDeclaration>) ,public void ifInitializerDeclaration(Consumer<com.github.javaparser.ast.body.InitializerDeclaration>) ,public void ifMethodDeclaration(Consumer<com.github.javaparser.ast.body.MethodDeclaration>) ,public void ifRecordDeclaration(Consumer<com.github.javaparser.ast.body.RecordDeclaration>) ,public void ifTypeDeclaration(Consumer<TypeDeclaration#RAW>) ,public boolean isAnnotationDeclaration() ,public boolean isAnnotationMemberDeclaration() ,public boolean isCallableDeclaration() ,public boolean isClassOrInterfaceDeclaration() ,public boolean isCompactConstructorDeclaration() ,public boolean isConstructorDeclaration() ,public boolean isEnumConstantDeclaration() ,public boolean isEnumDeclaration() ,public boolean isFieldDeclaration() ,public boolean isInitializerDeclaration() ,public boolean isMethodDeclaration() ,public boolean isRecordDeclaration() ,public boolean isTypeDeclaration() ,public boolean remove(com.github.javaparser.ast.Node) ,public boolean replace(com.github.javaparser.ast.Node, com.github.javaparser.ast.Node) ,public com.github.javaparser.ast.body.InitializerDeclaration setAnnotations(NodeList<com.github.javaparser.ast.expr.AnnotationExpr>) ,public Optional<com.github.javaparser.ast.body.AnnotationDeclaration> toAnnotationDeclaration() ,public Optional<com.github.javaparser.ast.body.AnnotationMemberDeclaration> toAnnotationMemberDeclaration() ,public Optional<CallableDeclaration#RAW> toCallableDeclaration() ,public Optional<com.github.javaparser.ast.body.ClassOrInterfaceDeclaration> toClassOrInterfaceDeclaration() ,public Optional<com.github.javaparser.ast.body.CompactConstructorDeclaration> toCompactConstructorDeclaration() ,public Optional<com.github.javaparser.ast.body.ConstructorDeclaration> toConstructorDeclaration() ,public Optional<com.github.javaparser.ast.body.EnumConstantDeclaration> toEnumConstantDeclaration() ,public Optional<com.github.javaparser.ast.body.EnumDeclaration> toEnumDeclaration() ,public Optional<com.github.javaparser.ast.body.FieldDeclaration> toFieldDeclaration() ,public Optional<com.github.javaparser.ast.body.InitializerDeclaration> toInitializerDeclaration() ,public Optional<com.github.javaparser.ast.body.MethodDeclaration> toMethodDeclaration() ,public Optional<com.github.javaparser.ast.body.RecordDeclaration> toRecordDeclaration() ,public Optional<TypeDeclaration#RAW> toTypeDeclaration() <variables>private NodeList<com.github.javaparser.ast.expr.AnnotationExpr> annotations