@SuppressWarnings("unchecked")
  @NotNull
  protected <T extends SvnClient> Class<? extends T> get(@NotNull Class<T> type) {
    Class<? extends T> implementation = myClientImplementations.get(type);

    if (implementation == null) {
      throw new IllegalArgumentException("No implementation registered for " + type);
    }

    return implementation;
  }
@SuppressWarnings("unchecked")
  @NotNull
  protected <T extends SvnClient> Class<? extends T> get(@NotNull Class<T> type)