code: @Override
  	public List<ScopDomain> getScopDomainsBySunid(Integer sunid)
  	{
  
  		try {
  			ensureClaInstalled();
  		} catch (IOException e) {
  			throw new ScopIOException(e);
  		}
  
  		List<ScopDomain> domains = new ArrayList<ScopDomain>();
  
  		for (String pdbId: domainMap.keySet()){
  			for (ScopDomain d : domainMap.get(pdbId)){
  				try {
  					if ( d.getPx() == sunid) {
  						domains.add((ScopDomain)d.clone());
  					} else if ( d.getSpeciesId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					}else if ( d.getDomainId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					}else if ( d.getFamilyId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					}else if ( d.getSuperfamilyId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					}else if ( d.getFoldId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					}else if ( d.getClassId() == sunid ){
  						domains.add((ScopDomain)d.clone());
  					} else {
  						throw new RuntimeException("Type " + d + " not recognized"); // only possible if SCOP changes
  					}
  				} catch (CloneNotSupportedException e){
  					throw new RuntimeException(ScopDomain.class + " subclass does not support clone()", e);
  				}
  			}
  		}
  		return domains;
  
  	}
docs: /* (non-Javadoc)
  @see org.biojava.nbio.structure.scop.ScopDatabase#getScopDomainsBySunid(java.lang.Integer)