code: private <T extends RedGEntity> T createNewDummy(AbstractRedG redG, Class<T> dummyClass) {
          Constructor constructor = Arrays.stream(dummyClass.getDeclaredConstructors())
                  .filter(this::isDummyRedGEntityConstructor)
                  .findFirst().orElseThrow(() -> new DummyCreationException("Could not find a fitting constructor"));
          Object[] parameter = new Object[constructor.getParameterCount()];
          parameter[0] = redG;
          for (int i = 1; i < constructor.getParameterCount(); i++) {
              parameter[i] = getDummy(redG, constructor.getParameterTypes()[i]);
          }
  
          try {
              constructor.setAccessible(true);
              T obj = dummyClass.cast(constructor.newInstance(parameter));
              redG.addEntity(obj);
              return obj;
          } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
              throw new DummyCreationException("Instantiation of the dummy failed", e);
          }
      }
docs: Creates a new dummy entity of the required type. Required non null foreign keys will be taken from the {@link #getDummy(AbstractRedG, Class)} method
  and will be created if necessary as well. If the creation fails for some reason, a {@link DummyCreationException} will be thrown.
  
  @param redG       The redG instance
  @param dummyClass The class specifying the wanted entity type
  @param <T>        The wanted entity type
  @return A new dummy entity of the required type. It has already been added to the redG object and can be used immediately.
  @throws DummyCreationException If no fitting constructor is found or instantiation fails