push(obj, throwOnError = true) {
		if (!this.poolable(obj)) {
			if (throwOnError === true) {
				throw new Error("me.pool: object " + obj + " cannot be recycled");
			} else {
				return false;
			}
		}

		// store back the object instance for later recycling
		this.objectClass[obj.className].pool.push(obj);
		this.instance_counter++;

		return true;
	}
Push back an object instance into the object pool <br>
Object pooling for the object class must be enabled,
and object must have been instantiated using {@link pull},
otherwise this function won't work
@throws will throw an error if the object cannot be recycled
@param {object} obj - instance to be recycled
@param {boolean} [throwOnError=true] - throw an exception if the object cannot be recycled
@returns {boolean} true if the object was successfully recycled in the object pool