public ProxyBuilder<T> implementing(Class<?>... interfaces) {
    List<Class<?>> list = this.interfaces;
    for (Class<?> i : interfaces) {
      if (!i.isInterface()) {
        throw new IllegalArgumentException("Not an interface: " + i.getName());
      }
      if (!list.contains(i)) {
        list.add(i);
      }
    }
    return this;
  }
Sets the directory where executable code is stored. See {@link DexMaker#generateAndLoad
DexMaker.generateAndLoad()} for guidance on choosing a secure location for the dex cache.
android/android_framework/dex-maker/src/main/java/com/android/dx/stock/ProxyBuilder.java