code: @Override
      public Wave status(final Status status) {
          synchronized (this) {
              if (this.statusProperty.get() == status) {
                  throw new CoreRuntimeException("The status " + status.toString() + " has been already set for this wave " + toString());
              } else {
                  this.statusProperty.set(status);
                  fireStatusChanged();
              }
          }
          return this;
      }
docs: {@inheritDoc}