code: public static IAtomContainer assign(final IAtomContainer container) {
          GraphUtil.EdgeToBondMap edgeToBond = GraphUtil.EdgeToBondMap.withSpaceFor(container);
          new NonplanarBonds(container, GraphUtil.toAdjList(container, edgeToBond), edgeToBond);
          return container;
      }
docs: Assign non-planar, up and down labels to indicate tetrahedral configuration. Currently all
  existing directional labels are removed before assigning new labels.
  
  @param container the structure to assign labels to
  @return a container with assigned labels (currently the same as the input)
  @throws IllegalArgumentException an atom had no 2D coordinates or labels could not be
  assigned to a tetrahedral centre