code: protected final Vertex supremum(final E proposed, Vertex generator) {
          boolean max = true;
          while (max) {
              max = false;
              for (Edge edge : generator.getEdges(Direction.BOTH)) {
                  Vertex target = edge.getVertex(Direction.OUT);
  
                  if (filter(target, generator)) {
                      continue;
                  }
                  //Concept proposed = new Concept(new MutableBitSet(), proposed.intent);
  
                  if (filter(target, proposed)) {
                      generator = target;
                      max = true;
                      break;
                  }
              }
          }
          return generator;
      }
docs: Find the supremum or least upper bound.
  @param proposed element
  @param generator element
  @return supremum vertex