class Block extends ContentNode {
    public Block() {
    }

    public Block(@NotNull BasedSequence chars) {
        super(chars);
    }

    public Block(@NotNull BasedSequence chars, @NotNull List<BasedSequence> lineSegments) {
        super(chars, lineSegments);
    }

    public Block(@NotNull List<BasedSequence> lineSegments) {
        super(lineSegments);
    }

    public Block(BlockContent blockContent) {
        super(blockContent);
    }

    @Nullable
    public Block getParent() {
        return (Block) super.getParent();
    }

    @Override
    protected void setParent(@Nullable Node parent) {<FILL_FUNCTION_BODY>}
}

        if (parent != null && !(parent instanceof Block)) {
            throw new IllegalArgumentException("Parent of block must also be block (can not be inline)");
        }
        super.setParent(parent);
    
<methods>public void <init>() ,public void <init>(@NotNull BasedSequence) ,public void <init>(@NotNull BasedSequence, @NotNull List<BasedSequence>) ,public void <init>(@NotNull List<BasedSequence>) ,public void <init>(@NotNull BlockContent) ,public @NotNull BasedSequence getContentChars() ,public @NotNull BasedSequence getContentChars(int, int) ,public @NotNull List<BasedSequence> getContentLines() ,public @NotNull List<BasedSequence> getContentLines(int, int) ,public @NotNull BasedSequence getLineChars(int) ,public int getLineCount() ,public @NotNull BasedSequence getSpanningChars() ,public void setContent(@NotNull BasedSequence, @NotNull List<BasedSequence>) ,public void setContent(@NotNull List<BasedSequence>) ,public void setContent(@NotNull BlockContent) ,public void setContentLine(int, @NotNull BasedSequence) ,public void setContentLines(@NotNull List<BasedSequence>) <variables>protected List<com.vladsch.flexmark.util.sequence.BasedSequence> lineSegments