code: private Point2d reflect(Point2d p, IBond bond) {
          IAtom a = bond.getBegin();
          IAtom b = bond.getEnd();
          return reflect(p, a.getPoint2d().x, a.getPoint2d().y, b.getPoint2d().x, b.getPoint2d().y);
      }
docs: Reflect the point {@code p} over the {@code bond}.
  
  @param p    the point to reflect
  @param bond bond
  @return the reflected point