title: Incompatible types - cannot be converted to java.lang.Class<T>
body: <p>This code:</p>
  <pre class="lang-java prettyprint-override"><code>  @Override
    public &lt;T extends Comparable, B extends ComparableBinding&gt; void transactPersistentEntityStore(
        String xodusRoot, String dir, boolean isReadOnly,
        StoreTransactionalExecutable txn) {
      Map&lt;Class&lt;T&gt;, B&gt; propertyTypeMap = new HashMap&lt;Class&lt;T&gt;, B&gt;();
      propertyTypeMap.put(EmbeddedArrayIterable.class, EmbeddedEntityBinding.BINDING);
      propertyTypeMap.put(EmbeddedEntityIterable.class, EmbeddedEntityBinding.BINDING);
      DatabaseManagerImpl.getInstance()
          .transactPersistentEntityStore(xodusRoot + dir, isReadOnly, propertyTypeMap, txn);
    }
  </code></pre>
  <p>Throws a compiler error:</p>
  <pre><code>Error:(82,46) java: incompatible types: java.lang.Class&lt;com.backend.model.EmbeddedArrayIterable&gt; cannot be converted to java.lang.Class&lt;T&gt;
  </code></pre>
  <p>Even when <strong>EmbeddedArrayIterable</strong> is</p>
  <pre class="lang-java prettyprint-override"><code>public class EmbeddedArrayIterable implements Serializable, ByteIterable {
  }
  public interface ByteIterable extends Comparable&lt;ByteIterable&gt; {
  }
  </code></pre>
  <p>What could be missing here?</p>
  <p>Update:
  Showing code for <strong>transactPersistentEntityStore</strong> method</p>
  <pre class="lang-java prettyprint-override"><code>  @Override
    public &lt;T extends Comparable, B extends ComparableBinding&gt; void transactPersistentEntityStore(
        String dir, boolean isReadOnly, Map&lt;Class&lt;T&gt;, B&gt; customPropertyTypes,
        StoreTransactionalExecutable txn) {
      final PersistentEntityStore entityStore =
          getPersistentEntityStore(dir, isReadOnly, customPropertyTypes);
      entityStore.executeInTransaction(txn);
    }
  </code></pre>