/** Method to change the object state to write-field. */
  protected void transitionWriteField() {
    try {
      if (myEC.getMultithreaded()) {
        myEC.getLock().lock();
        lock.lock();
      }

      preStateChange();
      try {
        myLC = myLC.transitionWriteField(this);
      } finally {
        postStateChange();
      }
    } finally {
      if (myEC.getMultithreaded()) {
        lock.unlock();
        myEC.getLock().unlock();
      }
    }
  }
  /**
   * Method to change the object state to read-field.
   *
   * @param isLoaded if the field was previously loaded
   */
  protected void transitionReadField(boolean isLoaded) {
    try {
      if (myEC.getMultithreaded()) {
        myEC.getLock().lock();
        lock.lock();
      }

      if (myLC == null) {
        return;
      }
      preStateChange();
      try {
        myLC = myLC.transitionReadField(this, isLoaded);
      } finally {
        postStateChange();
      }
    } finally {
      if (myEC.getMultithreaded()) {
        lock.unlock();
        myEC.getLock().unlock();
      }
    }
  }