class InstallationId {

  public String get() {
    synchronized (lock) {
      if (installationId == null) {
        try {
          installationId = ParseFileUtils.readFileToString(file, "UTF-8");
        } catch (FileNotFoundException e) {
          PLog.i(TAG, "Couldn't find existing installationId file. Creating one instead.");
        } catch (IOException e) {
          PLog.e(TAG, "Unexpected exception reading installation id from disk", e);
        }
      }

      if (installationId == null) {
        setInternal(UUID.randomUUID().toString());
      }
    }

    return installationId;
  }

  public  InstallationId(File file);

}