docs: private ClassData fetchBytecodeFromRemote(String className) {
          ClusterService cluster = nodeEngine.getClusterService();
          ClassData classData;
          boolean interrupted = false;
          for (Member member : cluster.getMembers()) {
              if (isCandidateMember(member)) {
                  continue;
              }
              try {
                  classData = tryToFetchClassDataFromMember(className, member);
                  if (classData != null) {
                      if (logger.isFineEnabled()) {
                          logger.finest("Loaded class " + className + " from " + member);
                      }
                      return classData;
                  }
              } catch (InterruptedException e) {
                  // question: should we give-up on loading at this point and simply throw ClassNotFoundException?
                  interrupted = true;
              } catch (Exception e) {
                  if (logger.isFinestEnabled()) {
                      logger.finest("Unable to get class data for class " + className
                              + " from member " + member, e);
                  }
              }
          }
          if (interrupted) {
              Thread.currentThread().interrupt();
          }
          return null;
      }