code: static Function<String, ManagedCloudSdk> newManagedSdkFactory() {
      return (version) -> {
        try {
          if (Strings.isNullOrEmpty(version)) {
            return ManagedCloudSdk.newManagedSdk();
          } else {
            return ManagedCloudSdk.newManagedSdk(new Version(version));
          }
        } catch (UnsupportedOsException | BadCloudSdkVersionException ex) {
          throw new RuntimeException(ex);
        }
      };
    }
docs: for delayed instantiation because it can error unnecessarily