code: public StructureInterfaceList getUniqueInterfaces(double cutoff) {
  
  
  		StructureInterfaceList set = new StructureInterfaceList();
  
  		// certain structures in the PDB are not macromolecules (contain no polymeric chains at all), e.g. 1ao2
  		// with the current mmCIF parsing, those will be empty since purely non-polymeric chains are removed
  		// see commit e9562781f23da0ebf3547146a307d7edd5741090
  		if (numPolyChainsAu==0) {
  			logger.warn("No chains present in the structure! No interfaces will be calculated");
  			return set;
  		}
  
  		// pass the chainOrigNames map in NCS case so that StructureInterfaceList can deal with original to NCS chain names conversion
  		if (chainOrigNames!=null) {
  			set.setChainOrigNamesMap(chainOrigNames);
  		}
  
  		// initialising the visited ArrayList for keeping track of symmetry redundancy
  		initialiseVisited();
  
  
  
  		// the isCrystallographic() condition covers 3 cases:
  		// a) entries with expMethod X-RAY/other diffraction and defined crystalCell (most usual case)
  		// b) entries with expMethod null but defined crystalCell (e.g. PDB file with CRYST1 record but no expMethod annotation)
  		// c) entries with expMethod not X-RAY (e.g. NMR) and defined crystalCell (NMR entries do have a dummy CRYST1 record "1 1 1 90 90 90 P1")
  		// d) isCrystallographic will be false if the structure is crystallographic but the space group was not recognized
  
  
  		calcInterfacesCrystal(set, cutoff);
  
  		return set;
  	}
docs: Returns the list of unique interfaces that the given Structure has upon
  generation of all crystal symmetry mates. An interface is defined as any pair of chains
  that contact, i.e. for which there is at least a pair of atoms (one from each chain) within
  the given cutoff distance.
  @param cutoff the distance cutoff for 2 chains to be considered in contact
  @return