class CreateTableData {

    /**
     * The schema.
     */
    public Schema schema;

    /**
     * The table name.
     */
    public String tableName;

    /**
     * The object id.
     */
    public int id;

    /**
     * The column list.
     */
    public ArrayList<Column> columns = new ArrayList<>();

    /**
     * Whether this is a temporary table.
     */
    public boolean temporary;

    /**
     * Whether the table is global temporary.
     */
    public boolean globalTemporary;

    /**
     * Whether the indexes should be persisted.
     */
    public boolean persistIndexes;

    /**
     * Whether the data should be persisted.
     */
    public boolean persistData;

    /**
     * Whether to create a new table.
     */
    public boolean create;

    /**
     * The session.
     */
    public ServerSession session;

    /**
     * The storage engine to use for creating the table.
     */
    public String storageEngineName;

    /**
     * The storage engine parameters to use for creating the table.
     */
    public CaseInsensitiveMap<String> storageEngineParams;

    /**
     * The table is hidden.
     */
    public boolean isHidden;

    public boolean isMemoryTable() {<FILL_FUNCTION_BODY>}
}

        return !session.getDatabase().isPersistent() || globalTemporary || temporary || !persistData
                || id < 0;
    
<no_super_class>