code: public void add(SubjectObserver<T> subjectObserver)
     {
        if (subjectObserver == null)
           throw new RequiredException("subjectObserver in Topic.add");
        
        String id = subjectObserver.getId();
        
        if (id == null || id.length() == 0)
           throw new IllegalArgumentException("Subject observer id required");
        
       //get previous
        SubjectObserver<?> prev = (SubjectObserver<?>)observerMap.get(subjectObserver.getId());
        
        if(prev != null && prev != subjectObserver)
        {
           Debugger.println(this,"Object registered, but observer id already exists "+subjectObserver.getId()+" for subject="+this.name);
        }
        
        //add       
        observerMap.put(subjectObserver.getId(), subjectObserver);
        
     }
docs: --------------------------------------------