code: private Map<Class<?>, InterfaceInfo> getInterfaceInfoMap() {
  
          if (interfaceInfoMap == null) {
              interfaceInfoMap = new HashMap<Class<?>, InterfaceInfo>();
              for (final Class<?> c : packageClasses) {
                  if (INTERESTING_CLASSES.accept( c )) {
                      if (!interfaceInfoMap.containsKey( c )) {
                          interfaceInfoMap.put( c, new InterfaceInfo( c ) );
                      }
                  } else {
                      final Contract contract = c.getAnnotation( Contract.class );
                      if (contract != null) {
                          InterfaceInfo ii = interfaceInfoMap.get( contract.value() );
                          if (ii == null) {
                              ii = new InterfaceInfo( contract.value() );
                              interfaceInfoMap.put( contract.value(), ii );
                          }
                          ii.add( c );
                      }
                  }
              }
          }
          return interfaceInfoMap;
      }
docs: Get the interface info map.
  
  All interfaces implemented in the packages that have contract tests.
  
  @return