// TODO: probably, we don't need to synchronize data here,
// because this method is always called from the same thread
// Synchronize all cached data
public void beginStep() {
        // TODO: probably, we don't need to synchronize data here,
        // because this method is always called from the same thread
        // Synchronize all cached data
        synchronized (readData) {
            synchronized (writeData) {
                super.beginStep();
            }
        }
    }
public void beginStep() {
// TODO: probably, we don't need to synchronize data here,
// because this method is always called from the same thread
// Synchronize all cached data
synchronized (readData) {
synchronized (writeData) {
public void beginStep() {
// TODO: probably, we don't need to synchronize data here,
// because this method is always called from the same thread
// Synchronize all cached data
synchronized (readData) {
synchronized (writeData) {
super.beginStep();
}
}
}
public void beginStep() {
// TODO: probably, we don't need to synchronize data here,
// because this method is always called from the same thread
// Synchronize all cached data
synchronized (readData) {
synchronized (writeData) {
super.beginStep();
}
}
}