code: private static String extractKey(String key, int start, String delegatePrefix, String prefix) {
      return delegatePrefix + key.substring(start + prefix.length(), key.length() - 1);
    }
docs: Returns an unwrapped key (the key for T from a Provider<T> for example),
  removing all wrapping key information, but preserving annotations or known
  prefixes.
  
  @param key the key from which the delegate key should be extracted.
  @param start
  an index into the key representing the key's "real" start after
  any annotations.
  @param delegatePrefix
  key prefix elements extracted from the underlying delegate
  (annotations, "members/", etc.)
  @param prefix the prefix to strip.