code: public Map<String, Method> methods() {
          if (this.methodHolder.isPresent()) {
              return this.methodHolder.get();
          }
          
          Map<String, Method> methodMap = Maps.newHashMap();
          Class<?> currentClass = delegateClass();
          
          while (currentClass != null) {
              for (Method m : currentClass.getDeclaredMethods()) {
                  m.setAccessible(true);
                  methodMap.put(m.getName(), m);
              }
              
              currentClass = currentClass.getSuperclass();
          }
          
          return (this.methodHolder = Optional.of(methodMap)).get();
      }
docs: Returns the {@link Method} map of the delegate