public SmartHandle permuteWith ( SmartHandle target ) { String [ ] argNames = target . signature ( ) . argNames ( ) ; return new SmartHandle ( this , permuteWith ( target . handle ( ) , argNames ) ) ; }
Produce a new SmartHandle by permuting this Signature s arguments to the Signature of a target SmartHandle . The new SmartHandle s signature will match this one permuting those arguments and invoking the target handle .