code: public final boolean hasReturnValues()
      {
          if (this.hasReturnValue())
          {
              return true;
          }
          else
          {
              // TODO: We may be able to 'pre-calculate' the results
              // of this loop by just checking arguments as they are added
              // The only problem is that the 'isReturnedbyProcedure' property
              // can be modified once the argument is added to this procedure.
              // If that occurs, then 'pre-calculated' results will be inacccurate.
              Iterator iter = this.getArguments().iterator();
              while (iter.hasNext())
              {
                  ArgumentDescriptor arg = (ArgumentDescriptor) iter.next();
                  if (arg.getIsReturnedByProcedure())
                  {
                      return true;
                  }
              }
          }
          return false;
      }
docs: Does this procedure return any values to the 'caller'?
  
  @return <code>true</code> if the procedure returns at least 1
  value that is returned to the caller.