@Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
      if (method.getName().equals("isClosing")) {
        if (delegate == null) {
          return Boolean.FALSE;
        } else {
          return delegate.isClosing();
        }
      }
      Object result = null;
      if (method.getReturnType().equals(boolean.class)) {
        result = Boolean.TRUE;
      }

      StringBuilder out = new StringBuilder();
      out.append(method.getName()).append("(");
      for (Object arg : args) {
        out.append(arg);
        out.append(",");
      }
      out.replace(out.length() - 1, out.length(), ")");
      if (logger.isDebugEnabled()) {
        logger.debug(out.toString());
      }
      if (delegate == null) {
        return result;
      } else {
        return method.invoke(delegate, args);
      }
    }
Reads a class name from the given input stream.

@return class name
geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DiskInitFileParser.java