code: private synchronized void ensureIsRun() {
          if (!isRun) {
              isRun = true;
              try {
                  result = executeProc(args);
                  exception = null;
              } catch (ProcError e) {
                  throw e.asRuntimeException();
              } catch (Throwable t) {
                  exception = t;
                  result = null;
              }
          }
      }
docs: Execute the proc if not done so already.