/* (non-Javadoc)
   * @see org.eclipse.californium.core.server.resources.Resource#setName(java.lang.String)
   */
  public synchronized void setName(String name) {
    if (name == null) throw new NullPointerException();
    String old = this.name;

    // adjust parent if in tree
    Resource parent = getParent();
    if (parent != null) {
      synchronized (parent) {
        parent.delete(this);
        this.name = name;
        parent.add(this);
      }
    } else {
      this.name = name;
    }
    adjustChildrenPath();

    for (ResourceObserver obs : observers) obs.changedName(old);
  }