code: @Override
      protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth) {
          copyToDelegate();
          long start = System.currentTimeMillis();
          try {
              method("setPerformancePreferences", int.class, int.class, int.class).invoke(delegate, connectionTime, latency, bandwidth);
          } catch (Exception e) {
              ExceptionUtil.processException(e);
          } finally {
              logSocket(System.currentTimeMillis() - start);
              copyFromDelegate();
          }
      }
docs: TODO: wrap equals and hashCode methods