}
if ( function.apply( newBinding.getABox(), arguments ) ) {
VariableBinding newPartial = new VariableBinding( newBinding.getABox() );
for ( int i = 0; i < arguments.length; i++ ) {
AtomDObject arg = atom.getAllArguments().get( i );
Literal result = arguments[ i ];
Literal current = newBinding.get( arg );
if ( current != null && !current.equals( result ) ) {
// Oops, we overwrote an argument.