public static boolean occlusionTest(IMultipart part,Predicate<IMultipart> ignored,IMultipartContainer container){
  List<IMultipart> ignoredParts=new ArrayList<IMultipart>();
  for (  IMultipart p : container.getParts())   if (ignored.apply(p))   ignoredParts.add(p);
  return container.occlusionTest(part,ignoredParts.toArray(new IMultipart[ignoredParts.size()]));
}

public static boolean occlusionTest ( IMultipart part , Predicate < IMultipart > ignored , IMultipartContainer container ) { List < IMultipart > ignoredParts = new ArrayList < IMultipart > ( ) ; for ( IMultipart p : container . getParts ( ) ) if ( ignored . apply ( p ) ) ignoredParts . add ( p ) ; return container . occlusionTest ( part , ignoredParts . toArray ( new IMultipart [ ignoredParts . size ( ) ] ) ) ; }
performs an occlusion test between a part and the specified multipart container , ignoring some parts .
