code: public void set(T value) {
          if (logger.isTraceEnabled()) {
              logger.trace("Name: " + display(name) + ": Value: " + display(value), new Throwable("Stack trace"));
          }
          T thisValue = offerInternal(value);
          if (thisValue != null) {
              throw new IllegalStateException("Value was already set to another value: " + name + " == [" + display(thisValue) + "], not: [" + display(value) + "]");
          }
      }
docs: Sets the value, if possible.
  @param value The value to set
  @throws java.lang.IllegalStateException If the reference was already set to another value