class FileLikeMultipartPart<T extends FileLikePart> extends MultipartPart<T> {

    /**
     * Attachment's file name as a byte array
     */
    private static final byte[] FILE_NAME_BYTES = "; filename=".getBytes(US_ASCII);

    FileLikeMultipartPart(T part, byte[] boundary) {
        super(part, boundary);
    }

    @Override
    protected void visitDispositionHeader(PartVisitor visitor) {<FILL_FUNCTION_BODY>}
}

        super.visitDispositionHeader(visitor);
        if (part.getFileName() != null) {
            visitor.withBytes(FILE_NAME_BYTES);
            visitor.withByte(QUOTE_BYTE);
            visitor.withBytes(part.getFileName().getBytes(part.getCharset() != null ? part.getCharset() : UTF_8));
            visitor.withByte(QUOTE_BYTE);
        }
    
<methods>public void close() ,public org.asynchttpclient.request.body.multipart.part.MultipartState getState() ,public boolean isTargetSlow() ,public long length() ,public long transferTo(ByteBuf) throws java.io.IOException,public long transferTo(java.nio.channels.WritableByteChannel) throws java.io.IOException<variables>private static final byte[] CHARSET_BYTES,private static final byte[] CONTENT_DISPOSITION_BYTES,private static final byte[] CONTENT_ID_BYTES,private static final byte[] CONTENT_TRANSFER_ENCODING_BYTES,private static final byte[] CONTENT_TYPE_BYTES,protected static final byte[] CRLF_BYTES,protected static final byte[] EXTRA_BYTES,private static final byte[] FORM_DATA_DISPOSITION_TYPE_BYTES,private static final byte[] HEADER_NAME_VALUE_SEPARATOR_BYTES,private static final byte[] NAME_BYTES,static final byte QUOTE_BYTE,protected final non-sealed byte[] boundary,protected final non-sealed T part,private ByteBuf postContentBuffer,private final non-sealed int postContentLength,private ByteBuf preContentBuffer,private final non-sealed int preContentLength,boolean slowTarget,protected org.asynchttpclient.request.body.multipart.part.MultipartState state