Это дженерики Java. RD известен как «параметр типа». Часть «RD extends RenderingDefinition» означает, что вы можете создавать экземпляры RenderingModelingImpl, параметризованные с любым классом, который является подклассом RenderingDefinition.
Допустим, у вас есть класс Foo, расширяющий RenderingDefinition, вы сможете сделать этот вызов ...
new RenderingModelImpl (...)
Это приведет к тому, что любые методы в этом экземпляре RenderingModelImpl, указанные для возврата RD, будут возвращать Foo.
Для многих более простых примеров обобщений см. Коллекции Java (Список, Набор, Карта и т. Д.) В Java 5 или новее.
Вы также не правы в том, что не можете реализовать два интерфейса. Класс Java может реализовывать любое количество интерфейсов. Только подклассы ограничены одним базовым классом.