private JMethod generateZclAttributeGetterSignature(JCodeModel jModel, JDefinedClass jClusterInterface, JClass jParentClass,
			ZclAttributeDescr zclAttributeDescriptor, boolean addContext) throws Exception {

		String getterName = attributeGetterName(zclAttributeDescriptor);
		String attributeTypeName = zclAttributeDescriptor.getTypeName();
		JMethod jMethodAttributeGetterSignature = null;

		try {
			JType jType = jTypeForZbTypename(jModel, jParentClass._package(), attributeTypeName, zclAttributeDescriptor);
			jMethodAttributeGetterSignature = jClusterInterface.method(JMod.PUBLIC, jType, getterName);
		} catch (Exception e) {
			return jMethodAttributeGetterSignature;
		}

		if (addContext)
			jMethodAttributeGetterSignature.param(IEndPointRequestContext.class, "context");

		jMethodAttributeGetterSignature._throws(ApplianceException.class);
		jMethodAttributeGetterSignature._throws(ServiceClusterException.class);

		return jMethodAttributeGetterSignature;
	}