public function getWriterFor(DataObject $object = null, $field = 'FilePointer', $type = null) {
		if ($object && $field && $object->hasField($field)) {
			$val = $object->$field;
			if (strlen($val)) {
				$reader = $this->getReader($val);
				if ($reader && $reader->isReadable()) {
					return $reader->getWriter();
				}
			}
		}
		
		if (!$type) {
			// specifically expecting to be handling File objects, but allows other 
			// objects to play too
			if ($object && $object->hasMethod('getEffectiveContentStore')) {
				$type = $object->getEffectiveContentStore();
			} else {
				$type = $this->defaultStore;
			}
		}
		
		// looks like we're getting a writer with no underlying file (as yet)
		return $this->getWriter($type);
	}