// Path: src/main/java/fm/last/commons/kyoto/KyotoException.java
// public class KyotoException extends RuntimeException {
// 
//   private static final long serialVersionUID = 1L;
// 
//   public KyotoException(String message) {
//     super(message);
//   }
// 
//   public KyotoException(Throwable error) {
//     super(error);
//   }
// 
//   public KyotoException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// 
// }


import java.io.IOException;
import java.rmi.UnexpectedException;
import kyotocabinet.Error;
import fm.last.commons.kyoto.KyotoException;
    }
    return result;
  }

  void wrapVoidCall(boolean success) {
    if (!success) {
      processError();
    }
  }

  void wrapVoidCall(boolean success, String message) {
    if (!success) {
      processError(message);
    }
  }

  void wrapVoidIoCall(boolean success, String message) throws IOException {
    if (!success) {
      processIoError(message);
    }
  }

  <T> T wrapObjectCall(T result) {
    if (result == null) {
      processError();
    }
    return result;
  }

  void processError() {
// Path: src/main/java/fm/last/commons/kyoto/KyotoException.java
// public class KyotoException extends RuntimeException {
// 
//   private static final long serialVersionUID = 1L;
// 
//   public KyotoException(String message) {
//     super(message);
//   }
// 
//   public KyotoException(Throwable error) {
//     super(error);
//   }
// 
//   public KyotoException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// 
// }


// Path: src/main/java/fm/last/commons/kyoto/factory/ErrorHandler.java
import java.io.IOException;
import java.rmi.UnexpectedException;
import kyotocabinet.Error;
import fm.last.commons.kyoto.KyotoException;

    }
    return result;
  }

  void wrapVoidCall(boolean success) {
    if (!success) {
      processError();
    }
  }

  void wrapVoidCall(boolean success, String message) {
    if (!success) {
      processError(message);
    }
  }

  void wrapVoidIoCall(boolean success, String message) throws IOException {
    if (!success) {
      processIoError(message);
    }
  }

  <T> T wrapObjectCall(T result) {
    if (result == null) {
      processError();
    }
    return result;
  }

  void processError() {
    Error error = source.getError();