       static        : [
         'create'
         'removeByCode'
-        'fetchPlans'
         'fetchPlanByCode'
         'fetchAccountDetails'
       ]

    console.error 'needs to be reimplemented'
#    recurly.fetchAccountDetailsByPaymentMethodId (JPayment.userCodeOf delegate), callback

  @fetchPlans = secure (client, options, callback) ->
    # TODO: this method seems redundant/confusing/unnecessary C.T.
    options = tag: options  if 'string' is typeof options
    options.limit = Math.min options.limit ? 20, 20
    
    options.sort ?= sortWeight: 1

    selector =
      tags  : options.tag
      group : client.context.group

    queryOptions =
      limit : options.limit
      sort  : options.sort

    @some selector, queryOptions, callback

  @fetchPlanByCode = (planCode, callback) -> @one { planCode }, callback

  fetchToken: secure (client, data, callback) ->

  {secure, dash}        = require 'bongo'
  {difference, extend}  = require 'underscore'

  {partition}           = require '../../util'
  {permit}              = require '../group/permissionset'

  JUser                 = require '../user'
