class DoubleDataAccess extends AbstractData<Double>
        implements DataAccess<Double>, Data<Double> {

    // Cache fields
    private transient boolean bsInit;
    private transient BytesStore bs;

    /**
     * State field
     */
    private transient Double instance;

    public DoubleDataAccess() {
        initTransients();
    }

    private void initTransients() {
        bs = BytesStore.wrap(new byte[8]);
    }

    @Override
    public RandomDataInput bytes() {<FILL_FUNCTION_BODY>}

    @Override
    public long offset() {
        return 0;
    }

    @Override
    public long size() {
        return 8;
    }

    @Override
    public Double get() {
        return instance;
    }

    @Override
    public Double getUsing(@Nullable Double using) {
        return instance;
    }

    @Override
    public long hash(LongHashFunction f) {
        return f.hashLong(Double.doubleToRawLongBits(instance));
    }

    @Override
    public boolean equivalent(RandomDataInput source, long sourceOffset) {
        return source.readLong(sourceOffset) == Double.doubleToRawLongBits(instance);
    }

    @Override
    public void writeTo(RandomDataOutput target, long targetOffset) {
        target.writeDouble(targetOffset, instance);
    }

    @Override
    public Data<Double> getData(@NotNull Double instance) {
        this.instance = instance;
        bsInit = false;
        return this;
    }

    @Override
    public void uninit() {
        instance = null;
    }

    @Override
    public void readMarshallable(@NotNull WireIn wireIn) {
        // no config fields to read
        initTransients();
    }

    @Override
    public void writeMarshallable(@NotNull WireOut wireOut) {
        // no config fields to write
    }

    @Override
    public DataAccess<Double> copy() {
        return new DoubleDataAccess();
    }
}

        if (!bsInit) {
            bs.writeDouble(0, instance);
            bsInit = true;
        }
        return bs;
    
<methods>public boolean equals(java.lang.Object) ,public int hashCode() ,public java.lang.String toString() <variables>