public void add(GeometryFunction func){
  functions.add(func);
  sortedFunctions.put(func.getName(),func);
  categorizedFunctions.put(func.getCategory(),func.getName(),func);
  if (hasGeometryResult(func))   categorizedGeometryFunctions.put(func.getCategory(),func.getName(),func);
}

public void add ( GeometryFunction func ) { functions . add ( func ) ; sortedFunctions . put ( func . getName ( ) , func ) ; categorizedFunctions . put ( func . getCategory ( ) , func . getName ( ) , func ) ; if ( hasGeometryResult ( func ) ) categorizedGeometryFunctions . put ( func . getCategory ( ) , func . getName ( ) , func ) ; }
adds a function if it does not currently exist in the registry , or replaces the existing one with the same signature .
