code: @Override
      public <T extends RedGEntity> T getDummy(final AbstractRedG redG, final Class<T> dummyClass) {
          // check if a dummy for this type already exists in cache
          if (this.dummyCache.containsKey(dummyClass)) {
              return dummyClass.cast(this.dummyCache.get(dummyClass));
          }
          final T obj = createNewDummy(redG, dummyClass); // if no one is found, create new
          this.dummyCache.put(dummyClass, obj);
          return obj;
      }
docs: Returns a dummy entity for the requested type.
  All this method guarantees is that the returned entity is a valid entity with all non null foreign key relations filled in,
  it does not guarantee useful or even semantically correct data.
  The dummy objects get taken either from the list of objects to insert from the redG object or are created on the fly. The results are cached and the
  same entity will be returned for consecutive calls for an entity of the same type.
  
  @param redG       The redG instance
  @param dummyClass The class specifying the wanted entity type
  @param <T>        The wanted entity type
  @return a dummy object of thew required type
  @throws DummyCreationException When a new dummy has to be created but this creation fails