def createSurfaceShader( shadertype, name=None ):
    classification = _general.getClassification( shadertype )
    #print classification

    newShader = None
    import nodetypes
    #if 'shader/surface' in classification:
    if 'rendernode/mentalray/material' in classification:
        newShader = nodetypes.DependNode(_language.mel.mrCreateCustomNode( "-asShader", "", shadertype))
    else:
        newShader = nodetypes.DependNode(_language.mel.renderCreateNode( "-asShader", "surfaceShader", shadertype, "", 0, 0, 0, 1, 0, ""))
    #else:
    #    raise TypeError, "%s is not a valid surface shader type. shader must be classified as 'shader/surface'" % shadertype
    sg = newShader.shadingGroups()[0]
    if name:
        newShader = newShader.rename(name)
        sg = sg.rename( name + 'SG')
    return newShader, sg
Given a value appropriate for this class, serialize it according to the
dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/maya/site-packages/pymel-1.0.3/pymel/core/rendering.py/createSurfaceShader--crossover with--dataset/ETHPy150Open datastax/python-driver/cassandra/cqltypes.py/_CassandraType.serialize