protected void _bind(final WMemberFeatureCall call) {
   this.inferredNode(call);
   WExpression _memberCallTarget = call.getMemberCallTarget();
   if ((_memberCallTarget instanceof WThis)) {
     WMethodDeclaration _method = WollokModelExtensions.method(call);
     WMethodContainer _declaringContext = WollokModelExtensions.declaringContext(_method);
     String _feature = call.getFeature();
     EList<WExpression> _memberCallArguments = call.getMemberCallArguments();
     final WMethodDeclaration referencedMethod =
         WMethodContainerExtensions.lookupMethod(
             _declaringContext, _feature, _memberCallArguments);
     this.operator_spaceship(call, referencedMethod);
   }
 }
 public WMethodDeclaration lookupMethod(final MessageType message) {
   WMethodDeclaration _xblockexpression = null;
   {
     String _name = message.getName();
     List<WollokType> _parameterTypes = message.getParameterTypes();
     final WMethodDeclaration m =
         WMethodContainerExtensions.lookupMethod(this.object, _name, _parameterTypes);
     WMethodDeclaration _xifexpression = null;
     boolean _notEquals = (!Objects.equal(m, null));
     if (_notEquals) {
       _xifexpression = m;
     } else {
       _xifexpression = null;
     }
     _xblockexpression = _xifexpression;
   }
   return _xblockexpression;
 }