} else if (color == null && texture != null) {
// Change material to white then texture
appearance.setMaterial(getMaterial(DEFAULT_COLOR, DEFAULT_AMBIENT_COLOR, materialShininess));
TexCoordGeneration texCoordGeneration = new TexCoordGeneration(TexCoordGeneration.OBJECT_LINEAR,
TexCoordGeneration.TEXTURE_COORDINATE_2,
new Vector4f(-pieceSize.x / modelSize.x / texture.getWidth(), 0, 0, 0),
new Vector4f(0, pieceSize.y / modelSize.y / texture.getHeight(), pieceSize.z / modelSize.z / texture.getHeight(), 0));
appearance.setTexCoordGeneration(texCoordGeneration);
appearance.setTextureAttributes(MODULATE_TEXTURE_ATTRIBUTES);
TextureManager.getInstance().loadTexture(texture.getImage(), waitTextureLoadingEnd,
new TextureManager.TextureObserver() {
public void textureUpdated(Texture texture) {