docs: def __prepare(self, filestem, b, examples=None, pos=None, neg=None):
          """
          Prepares the needed files.
          """
          if examples:
              examplesFile = open('%s/%s.pl' % (self.tmpdir, filestem), 'w')
              examplesFile.write(examples)
              examplesFile.close()
          elif pos and neg:
              posFile = open('%s/%s.f' % (self.tmpdir, filestem), 'w')
              negFile = open('%s/%s.n' % (self.tmpdir, filestem), 'w')
              posFile.write(pos)
              negFile.write(neg)
              posFile.close()
              negFile.close()
          else:
              raise Exception('You need to provide either a single file of classified examples or \
                  two files, positive and negative examples.')
          bFile = open('%s/%s.b' % (self.tmpdir, filestem), 'w')
          # Write settings.
          for setting, val in self.settings.items():
              bFile.write(':- set(%s,%s).\n' % (setting, val))
          bFile.write(b)
          bFile.close()