class RemoteCacheManagerHolder {

  private static volatile RemoteCacheManager cacheManager = null;

  private RemoteCacheManagerHolder() {
  }

  static RemoteCacheManager getInstance(Properties props) {<FILL_FUNCTION_BODY>}
}

    RemoteCacheManager result = cacheManager;
    if (result == null) {
      synchronized (RemoteCacheManagerHolder.class) {
        result = cacheManager;
        if (result == null) {
          result = new RemoteCacheManager(props);
          cacheManager = new RemoteCacheManager(props);
        }
      }
    }
    return result;
  
<no_super_class>