ExternalSystemSyncDiagnostic () { try { lock.acquire(); if (instance != null) return instance; instance = new ExternalSystemSyncDiagnostic(); } catch (InterruptedException e) { lock.release(); } finally { lock.release(); } return instance; }