<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def createmeta(self, projectKeys=None, projectIds=[], issuetypeIds=None, issuetypeNames=None, expand=None, ):
 """Get the metadata required to create issues, optionally filtered by projects and issue types. :param projectKeys: keys of the projects to filter the results with. Can be a single value or a comma-delimited string. May be combined with projectIds. :type projectKeys: Union[None, Tuple[str, str], str] :param projectIds: IDs of the projects to filter the results with. Can be a single value or a comma-delimited string. May be combined with projectKeys. :type projectIds: Union[List, Tuple[str, str]] :param issuetypeIds: IDs of the issue types to filter the results with. Can be a single value or a comma-delimited string. May be combined with issuetypeNames. :type issuetypeIds: Optional[List[str]] :param issuetypeNames: Names of the issue types to filter the results with. Can be a single value or a comma-delimited string. May be combined with issuetypeIds. :type issuetypeNames: Optional[str] :param expand: extra information to fetch inside each resource. :type expand: Optional[str] :rtype: Dict[str, Any] """

        params = {}
        if projectKeys is not None:
            params['projectKeys'] = projectKeys
        if projectIds is not None:
            if isinstance(projectIds, string_types):
                projectIds = projectIds.split(',')
            params['projectIds'] = projectIds
        if issuetypeIds is not None:
            params['issuetypeIds'] = issuetypeIds
        if issuetypeNames is not None:
            params['issuetypeNames'] = issuetypeNames
        if expand is not None:
            params['expand'] = expand
        return self._get_json('issue/createmeta', params)