code: public Pair<List<Group>> getInterfacingResidues(double minAsaForSurface) {
  
  		List<Group> interf1 = new ArrayList<Group>();
  		List<Group> interf2 = new ArrayList<Group>();
  
  		for (GroupAsa groupAsa:groupAsas1.values()) {
  
  			if (groupAsa.getAsaU()>minAsaForSurface && groupAsa.getBsa()>0) {
  				interf1.add(groupAsa.getGroup());
  			}
  		}
  		for (GroupAsa groupAsa:groupAsas2.values()) {
  
  			if (groupAsa.getAsaU()>minAsaForSurface && groupAsa.getBsa()>0) {
  				interf2.add(groupAsa.getGroup());
  			}
  		}
  
  		return new Pair<List<Group>>(interf1, interf2);
  	}
docs: Returns the residues belonging to the interface, i.e. the residues
  at the surface with BSA>0
  @param minAsaForSurface the minimum ASA to consider a residue on the surface
  @return