I have only one class with many instances. Every instance is observer of couple of other instances. As well every instance can be observable by couple of another instances.<
If your system is single threaded, then you simply need a guard inside your notify method:
private boolean _notifying; public void notify() { if(_notifying) { return; } _notifying = true; try { // ... do notifying here... } finally { _notifying = false; } }