}
@Override
public ProgramLiveInfo getLiveInfo(Id.Program programId, ProgramType type) {
if (!isRunning(programId, type)) {
return new NotRunningProgramLiveInfo(programId, type);
}
if (type.equals(ProgramType.SERVICE)) {
Set<String> discoverableNames = new HashSet<String>();
for (Map.Entry<RunId, RuntimeInfo> entry : list(type).entrySet()) {