@Test void shouldCache() { unit.parse(""); unit.parse(""); verify(parser, times(1)).parse(""); }
@Override public Peer parse(final String url) { return cache.computeIfAbsent(url, parser::parse); }
CachingPeerParser implements PeerParser { @Override public Peer parse(final String url) { return cache.computeIfAbsent(url, parser::parse); } }
CachingPeerParser implements PeerParser { @Override public Peer parse(final String url) { return cache.computeIfAbsent(url, parser::parse); }  }
CachingPeerParser implements PeerParser { @Override public Peer parse(final String url) { return cache.computeIfAbsent(url, parser::parse); }  @Override Peer parse(final String url); }
CachingPeerParser implements PeerParser { @Override public Peer parse(final String url) { return cache.computeIfAbsent(url, parser::parse); }  @Override Peer parse(final String url);  }