code: @Override
      public Object getAttribute(String name, Object value) {
          log.debug("getAttribute - name: {} value: {}", name, value);
          Object result = null;
          if (name != null) {
              result = attributes.putIfAbsent(name, value);
              if (result == null) {
                  // no previous value
                  modified.set(true);
                  final SharedObjectEvent event = new SharedObjectEvent(Type.CLIENT_UPDATE_DATA, name, value);
                  if (ownerMessage.addEvent(event) && syncEvents.add(event)) {
                      notifyModified();
                      changeStats.incrementAndGet();
                  }
                  result = value;
              }
          }
          return result;
      }
docs: Return attribute by name and set if it doesn't exist yet.
  
  @param name
  Attribute name
  @param value
  Value to set if attribute doesn't exist
  @return Attribute value