Eclipse Detector with Penumbra and Umbra

So I’ve created 2 EclipseDetector one to catch Penumbra events and the other to catch Umbra events:

      StringBuilder sbDayNight = new StringBuilder();
      StringBuilder sbNightDay = new StringBuilder();

      EventDetector dayNightEvent = new EclipseDetector(sun, Constants.SUN_RADIUS, earth).withUmbra().
              withHandler((s, detector, increasing) -> {
                  sbDayNight.append(
                          (increasing ? "Umbra finish at " : "Umbra start at ") +
                          s.getDate() + "\n"
                  );
                  return Action.CONTINUE;
              });
      EventDetector nightDayEvent = new EclipseDetector(sun, Constants.SUN_RADIUS, earth).withPenumbra().
              withHandler((s, detector, increasing) -> {
                  sbNightDay.append(
                          (increasing ? "Penumbra finish at " : "Penumbra start at ") +
                          s.getDate() + "\n"
                  );
                  return Action.CONTINUE;
              });

But the results seem off, it looks like Penumbra also contains the Umbra phase:

Umbra finish at 2020-10-01T00:18:29.873
Umbra start at 2020-10-01T01:17:44.539
Umbra finish at 2020-10-01T01:53:03.259
Umbra start at 2020-10-01T02:52:18.018
Umbra finish at 2020-10-01T03:27:36.644

Penumbra finish at 2020-10-01T00:18:38.364
Penumbra start at 2020-10-01T01:17:36.061
Penumbra finish at 2020-10-01T01:53:11.751
Penumbra start at 2020-10-01T02:52:09.538
Penumbra finish at 2020-10-01T03:27:45.139

Can you point out what I’m doing wrong?

It is normal, penumbra is around umbra, so spacecraft enter penumbra, then enters umbra, then exits umbra, then exits penumbra.