class HolderThreadSafe {

  private Heavy heavy;

  /**
   * Constructor.
   */
  public HolderThreadSafe() {
    LOGGER.info("HolderThreadSafe created");
  }

  /**
   * Get heavy object.
   */
  public synchronized Heavy getHeavy() {<FILL_FUNCTION_BODY>}
}

    if (heavy == null) {
      heavy = new Heavy();
    }
    return heavy;
  
<no_super_class>